c++ vector sort
时间: 2023-08-14 09:14:34 浏览: 44
引用\[1\]和\[2\]提供了两个关于C++中使用std::sort函数对vector进行排序的例子。在这些例子中,我们可以看到sort函数可以接受不同的比较函数作为参数,以实现升序或降序排序。在引用\[1\]的例子中,使用了函数myfunction和结构体myclass作为比较函数,分别实现了升序和降序排序。而在引用\[2\]的例子中,使用了GreaterSort和LessSort两个函数来实现降序和升序排序。
根据这些例子,我们可以使用sort函数对C++中的vector进行排序。只需定义一个比较函数,然后将其作为sort函数的第三个参数传入即可。比较函数应该返回一个bool值,用于指示两个元素的顺序关系。如果返回true,则表示第一个元素应该排在第二个元素之前,否则返回false。
以下是一个示例代码,演示了如何使用sort函数对vector进行升序排序:
#include <iostream>
#include <vector>
#include <algorithm>
bool lessSort(int a, int b) {
return a < b;
}
int main() {
std::vector<int> myVector = {5, 2, 8, 1, 9};
std::sort(myVector.begin(), myVector.end(), lessSort);
std::cout << "Sorted vector in ascending order: ";
for (int i = 0; i < myVector.size(); ++i) {
std::cout << myVector\[i\] << " ";
}
std::cout << std::endl;
return 0;
}
输出结果为:Sorted vector in ascending order: 1 2 5 8 9
这个例子中,我们定义了一个lessSort函数作为比较函数,用于实现升序排序。然后将该函数作为sort函数的第三个参数传入,对myVector进行排序。最后,我们使用循环打印出排序后的vector。
希望这个例子能够帮助你理解如何在C++中使用sort函数对vector进行排序。
#### 引用[.reference_title]
- *1* *2* *3* [C++中,结构体vector使用sort排序](https://blog.csdn.net/zhouxun623/article/details/49887555)[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^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]