排序可选sort(),但使用sort()时要有#include<algorithm>,sort()在不作任何修改的情况下只能升序排序,要想使用降序排序,我用过的有三种方法:
假设有vector<int>a,对a中的数进行降序排列
1.
sort(a.rbegin(),a.rend());
2.
sort(a.begin(),a.end(),greater<int>());
注意使用greater<int>()时要有#include<functional>,int表示进行排序的数据类型
3.
bool cmp(int a, int b) { return a>b; } sort(a.begin(),a.end(),cmp);
如针对普通数组而言,例如一个数组nums[ 100 ]
针对上述方法2和3
我们有
sort(nums,nums+q,greater<int>());
sort(nums,nums+q,cmp);
其中 q 为需要排序的元素个数