sort函数用法c++
时间: 2024-01-22 07:16:34 浏览: 84
在C++中,sort函数是用于对容器中的元素进行排序的函数。它可以对数组、向量、列表等容器进行排序操作。sort函数的用法如下:
```cpp
#include <algorithm> // 包含sort函数的头文件
// 定义一个比较函数,用于指定排序规则
bool compare(int a, int b) {
return a < b; // 升序排序
}
int main() {
int arr[] = {5, 2, 8, 1, 9};
// 对数组进行排序
std::sort(arr, arr + 5); // 默认升序排序
// 对数组进行降序排序
std::sort(arr, arr + 5, std::greater<int>());
// 对容器进行排序
std::vector<int> vec = {5, 2, 8, 1, 9};
std::sort(vec.begin(), vec.end()); // 默认升序排序
// 对容器进行降序排序
std::sort(vec.begin(), vec.end(), std::greater<int>());
// 使用自定义的比较函数进行排序
std::sort(vec.begin(), vec.end(), compare);
return 0;
}
```
在上述代码中,我们首先包含了<algorithm>头文件,该头文件中包含了sort函数的定义。然后我们可以使用sort函数对数组或容器进行排序。
对于数组,我们可以使用`std::sort(arr, arr + n)`来对数组进行排序,其中arr是数组的起始地址,arr + n是数组的结束地址。默认情况下,sort函数会按照升序进行排序。
对于容器,我们可以使用`std::sort(vec.begin(), vec.end())`来对容器进行排序,其中vec是容器的名称,begin()和end()函数分别返回容器的起始迭代器和结束迭代器。同样,默认情况下,sort函数会按照升序进行排序。
如果需要按照降序进行排序,可以使用`std::sort(arr, arr + n, std::greater<int>())`或`std::sort(vec.begin(), vec.end(), std::greater<int>())`,其中std::greater<int>()是一个函数对象,用于指定降序排序规则。
此外,我们还可以自定义比较函数来指定排序规则。在上述代码中,我们定义了一个compare函数,用于指定升序排序规则。然后在sort函数中使用`compare`作为第三个参数传入。
阅读全文