1.qsort在cstdlib头文件中;
2.qsort(a,n,size,cmp);其中a为数组,n为从下标0开始的排序总数,size为每个元素所占的空间;一般用sizeof(。。);
3.cmp为返回值为整形的函数,其中传入变量为(const void * a,const void * b);
返回值为正则代表a>b,反之a<b;
如比较元素为整形;
int cmp_int(const void *a,const void *b)
{
return *((int *)a)-*((int *)b);
}
元素为实型;
int cmp_double(const void *a,const void *b)
{
return *((double*)a)>*((double *)b)?1:-1;
}
元素为char;
int cmp_char(const void *a,const void *b)
{
return *((char*)a)-*((char *)b);
}
元素为结构体;
typedef struct node
{
int data;
string name;
}NODE;
int cmp_struct(const void *a,const void *b)
{
int i=(*(NODE *)a).data;
int j=(*(NODE *)b).data;
return i-j;
}