qsort函数C语言编译器函数库自带的排序函数。qsort 的函数原型是void qsort(void*base,size_t num,size_t width,int(__cdecl*compare)(const void*,const void*)); 是base所指数组进行排序。qsort函数包含在C 标准库 -
函数声明
void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))
base-- 指向要排序的数组的第一个元素的指针。
nitems-- 由 base 指向的数组中元素的个数。
size-- 数组中每个元素的大小,以字节为单位。
compar-- 用来比较两个元素的函数,即函数指针(回调函数)
#include
#include
void print_arr(int arr[], int sz) {int i = 0, j = 0;for (i = 0; i < sz; i++) {printf("%d ", arr[i]);}printf("\n");
}
int compar_int(const void* e1, const void* e2) {return *(int*)e1 - *(int*)e2;
}
void test1() {//整型排序int arr[] = { 9,8,7,6,5,4,3,2,1,0 };int sz = sizeof(arr) / sizeof(arr[0]);print_arr(arr, sz);qsort(arr, sz, sizeof(arr[0]), compar_int);print_arr(arr, sz);
}
int main(){test1();return 0;
}
运行结果:
上一篇: 体育活动目标方案
下一篇:数据结构 | 栈的中缀表达式求值