lq星轨
幼苗
共回答了16个问题采纳率:100% 举报
//1.整形排序(升序)
int cmp(const void*a,const void*b)
{
return *(int*)a-*(int*)b;
}
//2.字符型排序(升序)
int cmp(const void*a,const void*b)
{
return *(char*)a-*(char*)b;
}
//3.double型排序(升序)
int cmp(const void*a,const void*b)
{
return *(double*)a>*(double*)b?1:-1;
}
//4.结构体T{A}一级排序(升序)
int cmp(const void*a,const void*b)
{
return (*(T *)a)->A-(*(T *)b)->A;
}
//5.结构体T{A,B}二级排序//按照A从小到大,当X相等时,按B从小到大排序
int cmp(const void*a,const void*b)
{
T*c=(T*)a;
T*d=(T*)b;
if(c->A!=d->A)
return c->A-d->A;
else
return c->B-d->B;
}
//6.对字符串进行排序(升序)
struct In { int data; char str[100]; }s[100];
//按照结构体中字符串str的字典顺序排序
int cmp ( const void *a , const void *b )
{
return strcmp( (*(In *)a)->str , (*(In *)b)->str );
}
qsort(s,100,sizeof(s[0]),cmp);
//注:所有的函数调用形式均相似:qsort(数组名,元素个数,sizeof(、、),cmp);
你好、希望能帮到你哈!
1年前
追问
5