qsort的几种用法
1 #include<stdio.h> 2 #include<stdlib.h> 3 int cmp(const void *a,const void *b){ 4 return *(int *)a<*(int *)b; 5 } 6 int main(){ 7 int m[10],n; 8 while(~scanf("%d",&n)){ 9 for(int i=0;i<n;++i)scanf("%d",m+i); 10 qsort(m,n,sizeof(int),cmp); 11 for(int i=0;i<n;++i)printf("%d ",*(m+i)); 12 } 13 return 0; 14 }
#include<stdio.h> #include<stdlib.h> #include<string.h> int cmp(const void *a,const void *b){ return strcmp((char *)a,(char *)b); } int main(){ char m[100][100]; int n; while(~scanf("%d",&n)){ for(int i=0;i<n;++i){ scanf("%s",m[i]); } qsort(m,n,sizeof(m[0]),cmp); for(int i=0;i<n;++i)printf("%s\t",*(m+i)); } return 0;}
1 #include<stdio.h> 2 #include<stdlib.h> 3 typedef struct{ 4 int x,y; 5 }node; 6 int cmp(const void *a,const void *b){ 7 return (*(node *)a).x>(*(node *)b).x?1:-1; 8 } 9 int main(){int n;node m[1010]; 10 while(~scanf("%d",&n)){ 11 for(int i=0;i<n;++i){ 12 scanf("%d%d",&m[i].x,&m[i].y); 13 } 14 qsort(m,n,sizeof(node),cmp); 15 for(int i=0;i<n;++i){ 16 printf("%d %d\t",m[i].x,m[i].y); 17 } 18 } 19 return 0; 20 }