qsort函数stdlib.h文件中,函数原型为
void qsort(void *base,size_t nelem,size_t width,int (*Comp)(const void *,const void *));
*base 为要排序的数组;nelem 为要排序的数组的长度p;width 为数组元素的大小(一字节为单位)。默认是从小到大排序的!
int cmp1(const void* a, const void* b){
return((int)a - (int)b);
}
int cmp2(const void* a, const void* b){
return((char)a - (char)b);
}
int cmp3(const void* a, const void* b){
return((double)a > (double)b ? 1 : (-1));
}
int main(){
int i;
int a[] = { 1, 2, 3, 4, 5 };
char b[] = { ‘a’, ‘b’, ‘c’, ‘e’, ‘f’ };
double c[] = { 1.1, 1.2, 1.3, 1.4 };
qsort(a, 5, sizeof(int), &cmp1);
qsort(b, 5, sizeof(char), &cmp2);
qsort(c, 4, sizeof(double), &cmp3);
for (i = 0; i < 5; i++){
printf("%d\n", a[i]);
}
for (i = 0; i < 5; i++){
printf("%c\n", b[i]);
}
for (i = 0; i < 4; i++){
printf("%f\n", c[i]);
}
system("pause");
return 0;
}