c++ 对vector里的字符串排序
时间: 2023-10-12 19:19:26 浏览: 262
C语言程序设计-对长度为8个字符的字符串,将8个字符按降序排列;例如:原来的字符串为CEAedcab,排序后输出为edcbaE
5星 · 资源好评率100%
可以使用 `sort` 算法和自定义比较函数来对 `vector` 中的字符串进行排序。比如,如果想按字典序从小到大排序,可以按如下方式实现:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
bool cmp(const std::string& a, const std::string& b) {
return a < b;
}
int main() {
std::vector<std::string> vec = {"apple", "banana", "orange", "pear"};
std::sort(vec.begin(), vec.end(), cmp);
for (auto s : vec) {
std::cout << s << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:
```
apple banana orange pear
```
如果想按字符串长度从小到大排序,可以改写比较函数:
```cpp
bool cmp(const std::string& a, const std::string& b) {
return a.length() < b.length();
}
```
这样排序后的输出结果为:
```
pear apple banana orange
```
阅读全文