关于sort

来源:互联网 发布:js除法保留两位小数 编辑:程序博客网 时间:2024/05/15 23:43

sort排序,可以简化很多问题。

a[100]

不加修改 sort(a+i,a+n) 会把第I个数到第n个数从小到大排序;

加一个函数实现从大到小排序。

#include<bits/stdc++.h>
using namespace std;
bool cmp(int a,int b)
{
    return a>b;
}
int main()
{
    int x[3]={1,2,3};
    sort(x,x+3,cmp);
    printf("%d %d %d",x[0],x[1],x[2]);
    return 0;
}


结构体排序

下面所示函数含义:先按照结构体中a从大到小排序,如果a相等,则按照b从大到小排序

#include<bits/stdc++.h>
using namespace std;
struct node
{
    int a,b;
}cnt[3];
bool cmp(node x,node y)
{
    if(x.a!=y.a)
        return x.a>y.a;
    else
        return x.b>y.b;
}
int main()
{
    int i;
    cnt[0].a=1;
    cnt[0].b=1;
    cnt[1].a=1;
    cnt[1].b=2;
    cnt[2].a=2;
    cnt[2].b=1;
    sort(cnt,cnt+3,cmp);
    for(i=0;i<3;i++)
        printf("%d %d\n",cnt[i].a,cnt[i].b);
    return 0;
}



1 0
原创粉丝点击