📅  最后修改于: 2023-12-03 15:26:41.834000             🧑  作者: Mango
本文将介绍如何使用 C++ 对字符串向量按照字符串长度进行排序。
我们有一个字符串向量,需要根据字符串的长度对其进行排序,从而得到一个按照字符串长度递增排序的新向量。
我们可以使用 C++ STL 中的 sort
函数对字符串向量进行排序。为了根据字符串长度进行排序,我们需要自定义一个比较函数来作为 sort
函数的比较规则。
bool cmp(string s1, string s2) {
return s1.size() < s2.size();
}
上述比较函数会按字符串长度递增的顺序排序两个字符串。
接下来,我们可以在主程序中使用 sort
函数来对字符串向量进行排序:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool cmp(string s1, string s2) {
return s1.size() < s2.size();
}
int main() {
vector<string> vec = {"hello", "world", "my", "name", "is", "AI"};
sort(vec.begin(), vec.end(), cmp);
for (auto s : vec) {
cout << s << " ";
}
return 0;
}
以上代码将输出:
my is AI hello world name
可以看到,字符串向量按照字符串长度递增的顺序进行了排序。
本文介绍了如何使用 sort
函数对字符串向量按照字符串长度进行排序,并提供了一个自定义的比较函数来实现这个功能。