當前位置:成語大全網 - 書法字典 - Qsort和字典順序

Qsort和字典順序

# include & ltstdio.h & gt

# include & ltstring.h & gt

# include & ltstdlib.h & gtint cmpInt(const void * a,const void *b)

{

return *(int *)a-*(int *)b;

} int CMP double(const void * a,const void *b)

{

return *(double *)a & gt;*(雙*)b?1 : -1;

}

int compare length(const void * a,const void * b)

{

if(strlen(*(char * *)a)& gt;strlen(*(char * *)b)

返回1;

else if(strlen(*(char * *)a)& lt;strlen(*(char * *)b))

返回-1;

否則返回strcmp(*(char * *)a,*(char * *)b);

}

int main()

{

int I;

int num【10】= { 12,32,42,51,8,16,51,21,19,9 };

double in【10】= { 32.1,456.87,332.67,442.0,98.12,451.79,340.12,54。55,99。87,72。5 };

char * str【】= {“enter“、“number“、“size“、“begin“、“of“、“cat“、“case“、“program“、“certain“、“a“};qsort(num,10,sizeof(num【0】),cm pint);

qsort(in,10,sizeof(in【0】),CMP double);

qsort((void *)str,10,sizeof(str【0】),compare length);

for(I = 0;我& lt10;i++)

{

printf(“% d“,num【I】);}

printf(“\ n“);for(I = 0;我& lt10;i++)

{

printf(“%。2f“,in【I】);}

printf(“\ n“);

for(int I = 0;我& lt10;i++)

{

printf(“% s“,str【I】);

}

printf(“\ n“);返回0;

我也喜歡編程。我們來復習壹下之前的知識。