c++ algorithm库中sort函数的应用

c++中sort函数有两种形式

  1. sort (first, last) //两个参数
  2. sort (first, last, cmp) //三个参数

下面先说第一种

#include<iostream>
#include<algorithm>

using namespace std;

int main(){
    int a[4] = {3,9,7,6};
    int i = 0,j = 0;
    while(i < 4){
        cout << a[i] << " ";
        i++;
    }
    cout << endl;
    sort(a, a+4);   /*对地址a到地址a+4进行从小到大的排序*/
    while(j < 4){
        cout << a[j] << " ";
        j++;
    }
    return 0;
}
这里我们用sort函数对数组a进行了从小到大的排序

下面是控制台运行结果
在这里插入图片描述

再说第二种(以结构体为例)

#include<iostream>
#include<algorithm>

using namespace std;

struct X{
    int a;
    char b[10];
};

bool cmp(X xx,X yy){									
    return xx.a > yy.a;			/*若是 < 则是从小小到大排序*/
}							                                 /*改变条件使其从大到小排序*/ 

int main(){
    int i;
    X xx[5];
    for(i = 0;i < 5;i++){
        cin >> xx[i].a >> xx[i].b;
    }
    cout << endl;
    sort(xx, xx+5, cmp);
    for(i = 0;i < 5;i++){
        cout << xx[i].a << " " << xx[i].b << endl;
    }

    return 0;
}
这里我们用第三个参数cmp使sort对结构体按int型数据a进行了从大到小的排序

下面是控制台运行结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值