今天做一道题需要排序,排序的要求如下
假如一个结构体
typedef struct {
int a;
int b;
int c;
}tri;
对a,b,c按如下样例排序,
怎么排?
用sort很方便
code如下:
#include<iostream>
#include<algorithm>
#define size 10000
using namespace std;
typedef struct {
int a;
int b;
int c;
}tri;
int cmp(tri s1,tri s2){
return (s1.a*100+s1.b*10+s1.c)<(s2.a*100+s2.b*10+s2.c);
}
tri ss[size];
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>ss[i].a>>ss[i].b>>ss[i].c;
}
printf("after sort\n");
sort(ss,ss+n,cmp);
for(int i=0;i<n;i++){
printf("%d %d %d \n",ss[i].a,ss[i].b,ss[i].c);
}
return 0;
}