sort函数对vector排序
时间: 2023-10-20 17:22:42 浏览: 96
sort函数可以用来对vector进行排序。其函数原型为:
```c++
template <class RandomAccessIterator>
void sort (RandomAccessIterator first, RandomAccessIterator last);
template <class RandomAccessIterator, class Compare>
void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);
```
其中,参数first和last为迭代器,指定待排序元素的范围。第一种函数原型默认采用升序排序,第二种函数原型需要用户提供一个比较函数,用于指定排序方式。
下面是一个示例代码:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> vec = {3, 2, 1, 5, 4};
// 升序排序
sort(vec.begin(), vec.end());
for (int i = 0; i < vec.size(); i++)
cout << vec[i] << " ";
cout << endl;
// 降序排序
sort(vec.begin(), vec.end(), greater<int>());
for (int i = 0; i < vec.size(); i++)
cout << vec[i] << " ";
cout << endl;
return 0;
}
```
输出结果为:
```
1 2 3 4 5
5 4 3 2 1
```
在上面的示例中,我们先对vector进行升序排序,然后再进行降序排序。注意,在第二个sort函数中,我们提供了一个greater<int>()作为比较函数,这表示采用降序排序。
阅读全文