21xrx.com
2024-12-27 08:24:30 Friday
登录
文章检索 我的文章 写文章
C++ sort实现降序排列
2023-06-30 00:11:31 深夜i     --     --
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函数可以方便地进行排序。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复