sort函数 以及 qsort函数的用法

本文详细介绍了C++标准库中的sort函数使用方法,包括基本语法、如何对数组和向量进行排序,以及如何通过自定义比较函数实现降序排列。此外,还提供了结构体排序的简单实现方式。

这个问题之前研究了很久,但是由于心里对其的抵触一直不愿意记住,这次对其做详实的总结,并且希望再也不会忘记了

在网上看过了之后,发现我很不想用qsort也不想再记住qsort那么就来说一下sort吧

sort是c++引入的函数

我们要#include<algorithm> 同时 using namespace std来把它包含在内

然后sort的用法则是

sort(begin, end, cmp)

这个cmp可以写也可以不写


最基础的用法

有一个数组int a[100],要对从a[0]到a[99]的元素进行排序,只要写sort(a,a+100)就行了,默认的排序方式是升序。

对向量v排序也差不多,sort(v.begin(),v.end());

比较函数是一个自己定义的函数,返回值是bool型,它规定了什么样的关系才是“小于”。想把刚才的整数数组按降序排列,可以先定义一个比较函数cmp。

bool cmp(int a,int b)

{
return a>b;

}

sort(a,a+100,cmp);


对于结构体来说,有两种实现方案,我就不记麻烦的那种了

来个简单的并且要记住

struct node

{

  int x, y;

  bool operator < (const node & n)

  {

if (x!=n.x) return x<n.x;

else return y<n.y;


}

}nn[100];

sort(nn, nn+100);

即可如果<号对应的比较是<号,那么就是升序排列,否则就是降序排列 





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值