qsort的几种用法

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 }
View Code



#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 }

 

你可能感兴趣的:(sort)