21xrx.com
2025-03-31 20:08:33 Monday
文章检索 我的文章 写文章
C++ sort实现降序排列
2023-06-30 00:11:31 深夜i     14     0
C++ sort 降序排列

C++中的sort函数是非常强大的排序函数,可以实现对数组、容器等数据结构进行排序。但是默认情况下sort函数是升序排列,如果需要实现降序排列就需要在实现时加上一些额外的参数。

首先,sort函数的使用需要引入头文件#include ,其排序函数的使用需要指定排序的起始位置和终止位置,形如sort(star,end)。

如果要实现降序排列,可以使用sort函数自带的比较函数,有两种实现方式:

1.使用greater函数对象

greater对象是一个比较函数对象,它会返回两个对象进行比较后的结果,用于sort函数进行排序。

示例代码:

#include<algorithm>
#include<vector>
using namespace std;
int main(){
  vector<int> vec7;
  sort(vec.begin(),vec.end(),greater<int>());
  for(auto i:vec)
    cout<<i<<" ";
  
  return 0;
}

输出结果为:9 8 7 6 5 4 3 2 1

2.自定义比较函数

也可以自己定义一个比较函数,例如下面的例子:

bool cmp(int a,int b)
  return a>b;
int main(){
  int arr[]=4;
  sort(arr,arr+9,cmp);
  for(int i=0;i<9;i++){
    cout<<arr[i]<<" ";
  }
  return 0;
}

输出结果同样为:9 8 7 6 5 4 3 2 1

总之,sort函数的降序排列实现非常简单,只需要在sort函数中添加greater函数对象或自定义的比较函数即可。这也是C++这门语言强大之一之处,在不需要使用复杂的排序算法时,使用sort函数可以方便地进行排序。

  
  

评论区

请求出错了