摘自:https://baike.baidu.com/item/qsort/4747970?fr=aladdin
qsort函数的用法说明如下: [1] [3]
例:qsort(a,1000,sizeof(int),comp);
其中comp函数应写为:
1 2 3 4 | int comp( const void *a, const void *b) { return *( int *)a-*( int *)b; } |
上面是由小到大排序,return *(int *)b - *(int *)a; 为由大到小排序。
以下为compare函数原型 //comp
compare( (void *) & elem1, (void *) & elem2 );
Compare 函数的返回值 | 描述 |
---|
< 0 | elem1将被排在elem2前面 |
0 | elem1 等于 elem2 |
> 0 | elem1 将被排在elem2后面 |
(1)对一维数组的排序实例(从小到大排序):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #include<stdio.h> #include<stdlib.h> int comp( const void *a, const void *b) { return *( int *)a-*( int *)b; } int main() { int i=0; int *array; int n; scanf ( "%d" ,&n); array=( int *) malloc (n* sizeof ( int )); for (;i<n;i++) { scanf ( "%d" ,(array+i)); } qsort (array,n, sizeof ( int ),comp); for (i=0;i<n;i++) { printf ( "%d\t" ,array[i]); } return 0; } |
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)