C++ sort()排序函数

头文件

C++中使用sort()函数需要引用<algorithm>头文件

sort函数作用

C++中sort()函数可以对传入的数组进行排序,由使用者决定排序方式,默认为升序排序

默认使用格式

sort(数组,数组+数组长度); //简单升序排序方式

//例子
int arr[10] = {1, 3, 4, 2, 6, 5, 7, 8, 9, 10};
sort(arr, arr + 10);
//排序后
arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

sort()函数参数

sort(arr, arr + arr_length, cmp);

arr为数组,arr_length为数组长度,cmp为使用者定义的比较方法(返回值为bool的函数)

在对常用的数据类型进行排序时,可以不添加cmp参数,默认升序排序。

cmp函数写法

bool cmp(int a, int b)
{
    return a > b;
}

此时使用该cmp函数对int类型数组进行排序,可以得到降序排序的数组。

注意事项(struct和vector)

sort函数无法直接对struct(结构体)进行排序,此时cmp函数则为必须的参数

同时,vector类型的数据,需要下列的传参格式进行排序:

sort(vector.begin(),vector.end());

struct类型的cmp函数

示例代码

//结构体
struct a{
    int id;
    int num;
}b[10];
//按照结构体中的num进行升序排序
bool cmp(a b1, a b2)
{
    return b1.num < b2.num;
}
//使用sort函数的格式
sort(b, b + 10, cmp);

  • 21
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值