对不起,我之前给出的代码有误。std::sort函数是直接对容器进行排序的,它会修改原始字符串并返回 void。如果想要获得排序后的结果,可以先将字符串存储到一个临时变量中,然后再进行排序。
以下是修正后的示例代码:
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
bool compare(const std::string& a, const std::string& b) {
return a < b; // 自定义排序规则
}
int main() {
std::vector<std::string> strs = {"cba", "abc", "bca"};
// 对字符串向量进行排序
std::sort(strs.begin(), strs.end(), compare);
// 打印排序后的结果
for (const auto& str : strs) {
std::cout << str << " ";
}
std::cout << std::endl;
return 0;
}
这段代码将字符串向量 strs 按照字典序进行排序,并输出结果。请确保在编译和运行代码时使用支持C++11或更高版本的编译器。
内容由零声教学AI助手提供,问题来源于学员提问




