C++ 利用STL进行反向排序

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_39258979/article/details/82707562

我们假定一个序列是正序的:

  • 对于数值型,从小到大
  • 对于字符串,字典序
  • 对于类类型,需自定义

这里我以数值型反向排序为例说明:

方法一:sort后再反序

vector<int> ivec{1,3,5,2,6,7,4,9};
sort(c.begin(),c.end());
reserse(c.begin(),c.end());

方法二:sort增加谓词

vector<int> ivec{1,3,5,2,6,7,4,9};
sort(c.begin(),c.end(),[](int a,int b){return a>b;});

方法三:反向迭代器

vector<int> ivec{1,3,5,2,6,7,4,9};
sort(c.rbegin(),c.rend());

结果如下:
result

猜你喜欢

转载自blog.csdn.net/weixin_39258979/article/details/82707562