我们假定一个序列是正序的:
- 对于数值型,从小到大
- 对于字符串,字典序
- 对于类类型,需自定义
这里我以数值型反向排序为例说明:
方法一:sort后再反序vector ivec{1,3,5,2,6,7,4,9};
sort(ivec.begin(),ivec.end());
reverse(ivec.begin(),ivec.end());
方法二:sort增加谓词
vector ivec{1,3,5,2,6,7,4,9};
sort(ivec.begin(),ivec.end(),[](int a,int b){return a>b;});
方法三:反向迭代器
vector ivec{1,3,5,2,6,7,4,9};
sort(ivec.rbegin(),ivec.rend());
结果如下: