qsort()

qsort(s,n,sizeof(s[0]),cmp);

数组

/*
#include 
#include 
#include 

int s[10000],n,i;

int cmp(const void *a, const void *b)
{
     return (*(int *)a-*(int *)b);/// 正的就是从小到大排 负的就是从大到小排
}

int main()
{
     scanf("%d",&n);
     for(i=0;i

结构体数组

#include 
#include 

struct node
{
     double date1;
     int no;
} s[100];

int i,n;

int cmp(const void *a,const void *b)
{
     ///struct node *aa=(node *)a;
     ///struct node *bb=(node *)b;
     ///return(((aa->date1)>(bb->date1))?1:-1);
     return ((node*)a)->date1 - ((node*)b)->date1;
}

int main()
{
     scanf("%d",&n);
     for(i=0;i
#include 

struct node
{
     double date1;
     int no;
} s[100];

int i,n;

int cmp(const void *a,const void *b)
{
     ///struct node *aa=(node *)a;
     ///struct node *bb=(node *)b;

     ///if(aa->date1!=bb->date1)
         ///return(((aa->date1)>(bb->date1))?1:-1);
         
    if(((node*)a)->date1!=((node*)b)->date1)
         return(((((node*)a)->date1)>(((node*)b)->date1))?1:-1);
     else
         return((((node*)a)->no)-(((node*)b)->no));
}

int main()
{
     scanf("%d",&n);
     for(i=0;i

字符串数组


///对字符串数组的排序(char s[][]型)
/*
#include 
#include 
#include 

char s[100][100];
int i,n;

int cmp(const void *a,const void *b)
{
     return(strcmp((char*)a,(char*)b));
}

int main()
{
     scanf("%d",&n);
     for(i=0;i
#include 
#include 

char *s[100];
int i,n;

int cmp(const void *a,const void *b)

{
     return(strcmp(*(char**)a,*(char**)b));
}

int main()
{
     scanf("%d",&n);
     for(i=0;i



你可能感兴趣的:(qsort())