c++ vector 自定义排序
时间: 2023-08-27 21:20:46 浏览: 202
你可以使用sort函数对vector进行自定义排序。以下是一个示例代码,假设你要对一个vector<string>进行排序,按照字符串的长度从小到大排序:
```
#include<iostream>
#include<algorithm>
#include<vector>
#include<string>
using namespace std;
bool compare(const string& a, const string& b) {
return a.length() < b.length();
}
int main() {
vector<string> names = {"John", "Mary", "Alice", "Tom"};
cout << "Before sorting: ";
for(auto& name : names) {
cout << name << " ";
}
cout << endl;
sort(names.begin(), names.end(), compare);
cout << "After sorting: ";
for(auto& name : names) {
cout << name << " ";
}
cout << endl;
return 0;
}
```
在这个例子中,我们定义了一个compare函数,它接受两个字符串参数,比较它们的长度并返回比较结果。然后在主函数中,我们调用sort函数,并传入compare作为自定义的比较函数。这样,sort函数会根据compare函数的返回结果对vector进行排序。最后,我们输出排序后的结果。
所以,通过自定义比较函数,你可以根据自己的需求对vector进行排序。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [【C++】vector数组排序](https://blog.csdn.net/weixin_46308081/article/details/117195502)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文