C++中的sort()
函數(shù)用于對(duì)容器中的元素進(jìn)行排序。它可以用于排序數(shù)組、向量和字符串等容器。
下面是sort()
函數(shù)的使用方法:
包含頭文件:#include <algorithm>
使用sort()
函數(shù):
sort(arr, arr+n);
,其中arr
是數(shù)組名,n
是數(shù)組中元素的個(gè)數(shù)。sort(vec.begin(), vec.end());
,其中vec
是向量名。sort(str.begin(), str.end());
,其中str
是字符串名。注意:
sort()
函數(shù)按升序?qū)υ剡M(jìn)行排序。greater<>()
函數(shù)對(duì)象作為第三個(gè)參數(shù)。例如:sort(vec.begin(), vec.end(), greater<>());
bool
值,表示兩個(gè)元素的相對(duì)順序。例如:bool compare(int a, int b) { return a > b; } sort(vec.begin(), vec.end(), compare);
下面是一個(gè)完整的示例代碼:
#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;
}
輸出結(jié)果:
1 2 3 4 5
5 4 3 2 1