c++sort参数
时间: 2023-07-04 14:17:17 浏览: 109
C语言中的sort
C++中的`sort()`函数用于对数组或向量进行排序,其定义如下:
```cpp
template <class RandomAccessIterator>
void sort (RandomAccessIterator first, RandomAccessIterator last);
```
其中,`first`和`last`分别表示要排序的数组或向量的起始和结束位置的迭代器。此外,`sort()`函数还可以接受一个可调用的比较函数作为参数,以指定排序的顺序。比较函数应该接受两个参数,返回一个`bool`类型的值,表示它们的顺序。如果第一个参数应该排在第二个参数之前,则返回`true`,否则返回`false`。比较函数的定义如下:
```cpp
bool cmp(int a, int b) {
// 比较a和b的大小,返回true或false
}
```
在使用`sort()`函数时,可以将比较函数作为第三个参数传递给它,例如:
```cpp
int arr[] = {5, 2, 9, 1, 5};
int n = sizeof(arr) / sizeof(int);
// 按照从小到大的顺序排序
sort(arr, arr + n);
// 按照从大到小的顺序排序
sort(arr, arr + n, greater<int>());
```
在上面的例子中,第二个`sort()`函数调用使用了`greater<int>()`函数对象,它定义在头文件`functional`中,用于按照从大到小的顺序排序。
阅读全文