C++中的sort()
函数用于对容器中的元素进行排序。它可以用于排序数组、向量和字符串等容器。
下面是sort()
函数的使用方法:
-
包含头文件:
#include
-
使用
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
#include
#include
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 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