在C++中,可以使用std::sort
函數(shù)對(duì)數(shù)組或容器中的元素進(jìn)行排序。std::sort
函數(shù)屬于<algorithm>
頭文件,使用前需要包含該頭文件。
std::sort
函數(shù)有兩種使用方式:
std::sort
函數(shù)對(duì)數(shù)組中的元素進(jìn)行排序。例如:#include <algorithm>
#include <iostream>
int main() {
int arr[] = {5, 2, 8, 1, 9};
std::sort(arr, arr + 5); // 對(duì)數(shù)組元素進(jìn)行排序
for (int i = 0; i < 5; ++i) {
std::cout << arr[i] << " ";
}
return 0;
}
輸出結(jié)果為:1 2 5 8 9
。
std::sort
函數(shù)對(duì)容器中的元素進(jìn)行排序。例如:#include <algorithm>
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {5, 2, 8, 1, 9};
std::sort(vec.begin(), vec.end()); // 對(duì)容器元素進(jìn)行排序
for (int i = 0; i < vec.size(); ++i) {
std::cout << vec[i] << " ";
}
return 0;
}
輸出結(jié)果為:1 2 5 8 9
。
std::sort
函數(shù)默認(rèn)按照升序?qū)υ剡M(jìn)行排序。如果需要按照降序排序,可以使用自定義的比較函數(shù)。例如:
#include <algorithm>
#include <iostream>
#include <vector>
bool compare(int a, int b) {
return a > b;
}
int main() {
std::vector<int> vec = {5, 2, 8, 1, 9};
std::sort(vec.begin(), vec.end(), compare); // 按照自定義的比較函數(shù)對(duì)容器元素進(jìn)行排序
for (int i = 0; i < vec.size(); ++i) {
std::cout << vec[i] << " ";
}
return 0;
}
輸出結(jié)果為:9 8 5 2 1
。