在c++中sort()函数给string变量排序
时间: 2024-10-11 08:08:10 浏览: 30
在 C++ 中,`std::sort()` 函数通常用于对整数数组、向量等随机访问容器进行排序。对于 `string` 类型的元素,虽然 `std::sort()` 函数本身并不直接适用于字符串,因为它们不是比较运算符 `<` 可以直接处理的类型。但是,你可以自定义一个比较函数(例如,通过比较两个字符串的字典序),然后将其作为第三个参数传递给 `sort()`。
下面是一个简单的示例,展示了如何为字符串创建一个比较函数,然后对包含字符串的向量进行排序:
```cpp
#include <algorithm>
#include <vector>
#include <string>
bool compareStrings(const std::string& a, const std::string& b) {
return a < b; // 字典序比较
}
int main() {
std::vector<std::string> vec = {"banana", "apple", "cherry", "date"};
std::sort(vec.begin(), vec.end(), compareStrings);
for (const auto& str : vec) {
std::cout << str << " ";
}
return 0;
}
```
在这个例子中,`compareStrings` 函数用于定义字符串间的排序规则,`sort()` 调用将按照这个规则对 `vec` 中的字符串进行升序排列。
阅读全文