Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        去年关闭。
                                                                                            
                
        
我正在使用此函数按字母顺序对字符串数组中的名称进行排序。但这是行不通的。如果有人对此有最佳解决方案,请回答此问题。

void List::sort_Name()
{
    string temp;
    for (int i = 0; i < cap; i++)
    {
        for (int j = 0; j < cap; j++)
        {
            if (Prolist[i].getName() < Prolist[i + 1].getName())
            {

                temp = Prolist[i].getName();
                Prolist[i].getName() = Prolist[i + 1].getName();
                Prolist[i + 1].getName() = temp;
            }
        }
    }
}

最佳答案

忽略提供的不完整代码段,这是在c ++中对字符串进行排序的方式:

std::list<std::string> strings{ "foo", "bar", "baz", "test" };
strings.sort();
for (std::string s : strings) {
    std::cout << "string: " << s << std::endl;
}


它产生输出:

string: bar
string: baz
string: foo
string: test


也可以与std::vector而不是std::list一起使用,在许多用例中性能更高,而不是strings.sort();您可以调用std::sort(strings.begin(), strings.end());

关于c++ - 如何在数组c++中对字符串进行排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52550215/

10-10 07:15