📌  相关文章
📜  根据字符串的长度对字符串向量进行排序 c++ (1)

📅  最后修改于: 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 函数对字符串向量按照字符串长度进行排序,并提供了一个自定义的比较函数来实现这个功能。