第一种方法:用默认的sort从小到大排好后用reverse函数逆转(需要定义algorithm)
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
vector<int>v(10);
for(int i=0;i<10;i++)
v.push_back(i);
sort(v.begin(),v.end());
reverse(v.begin(),v.end());
return 0;
}
第二种方法:要定义functional
sort(v.begin(),v.end(),greater<int>());
第三种方法:自定义函数
bool cmp(int x,int y)
{
return x>y;
}
sotr(v.begin(),v.end(),cmp);
最后用STL遍历输出
void print(int x)
{
cout<<x<<' ';
}
for_each(v.begin(),v.end(),print);