c++中的sort函数怎么使用

avatar
作者
筋斗云
阅读量:1

C++中的sort()函数用于对容器中的元素进行排序。它可以用于排序数组、向量和字符串等容器。

下面是sort()函数的使用方法:

  1. 包含头文件:#include <algorithm>

  2. 使用sort()函数:

    • 对数组进行排序:sort(arr, arr+n);,其中arr是数组名,n是数组中元素的个数。
    • 对向量进行排序:sort(vec.begin(), vec.end());,其中vec是向量名。
    • 对字符串进行排序:sort(str.begin(), str.end());,其中str是字符串名。

注意:

  • 默认情况下,sort()函数按升序对元素进行排序。
  • 若要按降序对元素进行排序,可以使用greater<>()函数对象作为第三个参数。例如:sort(vec.begin(), vec.end(), greater<>());
  • 若要自定义排序规则,可以使用自定义的比较函数作为第三个参数。比较函数应接受两个参数,并返回一个bool值,表示两个元素的相对顺序。例如:bool compare(int a, int b) { return a > b; } sort(vec.begin(), vec.end(), compare);

下面是一个完整的示例代码:

#include <iostream> #include <algorithm> #include <vector>  using namespace std;  bool compare(int a, int b) {     return a > b; }  int main() {     int arr[] = {3, 1, 4, 2, 5};     int n = sizeof(arr) / sizeof(arr[0]);      sort(arr, arr + n);      for (int i = 0; i < n; i++) {         cout << arr[i] << " ";     }     cout << endl;      vector<int> vec = {3, 1, 4, 2, 5};     sort(vec.begin(), vec.end(), greater<>());      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 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!