sort对vector排序
时间: 2023-07-25 18:14:55 浏览: 84
可以使用C++中的sort函数对vector进行排序。sort函数的语法如下:
```c++
sort(begin_iterator, end_iterator, compare_function);
```
其中,`begin_iterator`和`end_iterator`分别是vector的起始迭代器和末尾迭代器,`compare_function`是一个可选参数,它是一个用于比较元素的函数指针或函数对象。如果不提供`compare_function`,则默认按升序排序。
下面是一个示例代码,演示了如何对vector进行排序:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool myFunction(int i, int j) {
return (i < j);
}
int main() {
vector<int> myVector = {3, 2, 5, 1, 4};
// 使用默认的比较函数按升序排序
sort(myVector.begin(), myVector.end());
// 输出排序后的结果
for (int i = 0; i < myVector.size(); i++) {
cout << myVector[i] << " ";
}
cout << endl;
// 使用自定义的比较函数按降序排序
sort(myVector.begin(), myVector.end(), myFunction);
// 输出排序后的结果
for (int i = 0; i < myVector.size(); i++) {
cout << myVector[i] << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
1 2 3 4 5
5 4 3 2 1
```
在上面的示例中,首先使用默认的比较函数按升序排序,然后使用自定义的比较函数按降序排序。
阅读全文