C++排序问题

来源:互联网 发布:excel2010数据验证 编辑:程序博客网 时间:2024/06/14 11:54
#include<stdio.h>#include<algorithm>using namespace std;int main(){    int n;    int buf[10000];    while(scanf("%d",&n)!=EOF){        for(int i=0;i<n;i++){            scanf("%d",&buf[i]);        }        sort(buf,buf+n);        for(int i=0;i<n;i++){            printf("%d ",buf[i]);        }        printf("\n");    }return 0;}//结构体排序#include<stdio.h>#include<algorithm>#include<string.h>using namespace std;struct E{    char name[100];    int age;    int score;} buf[1000];bool cmp(E a,E b){    if(a.score!=b.score) return a.score<b.score;    int tem=strcmp(a.name,b.name);    if(tem!=0) return tem<0;    else return a.age<b.age;}int main(){    int n;    while(scanf("%d",&n)!=EOF)    {        for(int i=0; i<n; i++)        {            scanf("%s%d%d",buf[i].name,&buf[i].age,&buf[i].score);        }        sort(buf,buf+n,cmp);        for(int i=0; i<n; i++)        {            printf("%s %d %d\n",buf[i].name,buf[i].age,buf[i].score);        }    }     return 0;}