C++---sort函数简单用法

1.头文件

#include<algorithm>

2.对基本类型数组排序

int* a;
// int a[10] 同理
a = (int*)malloc(sizeof(int)*10);
sort(a,a + 10); 
//排序区间 [a,a+10) 左闭右开,默认小到大
//a + 0可以写成a,地址下标0~9,所以右侧a + 10

3.对元素类型为T的基本类型数组从大到小排序

int* a;
a = (int*)malloc(sizeof(int)*10);
sort(a,a + 10,greater<int>()); 
// greate<T>() 为T类型的从大到小排序

4.用自定义排序规则,对任何T类型数组排序

//使用基本库函数,如greater<T>降序,less<T>升序
sort(a + 2,a + 4,greater<int>)
sort(a + 2,a + 4,less<int>)
//定义比较函数
//数组
bool cmp(int a,int b){
    return a > b;   //降序
    //return a < b;   升序
}


//结构体
struct student{
    char name[20];
    int age;
}

struct student s[100];

bool cmp(student a,student b)
{
    return a.age > b.age;     //年龄降序
    //return a.age < b.age;     年龄升序
}

bool cmp2(student a,student b){
    if(strcmp(a.name,b.name) < 0)  //名字字母从小到大排列 strcmp返回值小于0说明,a.name比b.name小 
        return true;
    return false;
}

猜你喜欢

转载自blog.csdn.net/jh8w8m/article/details/87532683