目录
从小到大
sort的头文件<algorithm>
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int a[] = {8,6,2,9,3,5,4,1,7,10};
vector<int> arr(a, a+5);
sort(arr.begin(),arr.end());
for(int i = 0; i <arr.size(); ++i){
cout <<arr[i] << " ";
}
return 0 ;
}
从大到小
-
方法一:greater<int>()
sort默认排序从小到大,使用greater<int>()
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int a[] = {8,6,2,9,3,5,4,1,7,10};
vector<int> arr(a, a+5);
sort(arr.begin(),arr.end(),greater<int>());
for(int i = 0; i <arr.size(); ++i){
cout <<arr[i] << " ";
}
return 0 ;
}
-
方法二:自定义函数
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool cmp_max(int x,int y){
return x > y;
}
int main() {
int a[] = {8,6,2,9,3,5,4,1,7,10};
vector<int> arr(a, a+5);
sort(arr.begin(),arr.end(),cmp_max);
for(int i = 0; i <arr.size(); ++i){
cout <<arr[i] << " ";
}
return 0 ;
}
-
方法三:使用sort排序后,使用reverse()
reverse()只能 将元素倒置,但不排列
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int a[] = {8,6,2,9,3,5,4,1,7,10};
vector<int> arr(a, a+5);
sort(arr.begin(),arr.end());
reverse(arr.begin(),arr.end());
for(int i = 0; i <arr.size(); ++i){
cout <<arr[i] << " ";
}
return 0 ;
}