qsort()函数是C语言中一个常用的排序函数,它可以根据用户指定的比较函数,对数组中的元素进行快速排序。它的原型为:
void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));
其中,base参数指向要排序的数组,nmemb参数指定数组中元素的个数,size参数指定数组中每个元素的大小,compar参数指定用于比较的函数,该函数接受两个参数,分别指向比较的两个元素,如果第一个参数小于第二个参数,则返回负值;如果第一个参数等于第二个参数,则返回0;如果第一个参数大于第二个参数,则返回正值。
qsort()函数的使用方法
下面给出一个使用qsort()函数排序整型数组的示例:
#include#include int cmp(const void *a, const void *b) { return *(int *)a - *(int *)b; } int main() { int array[10] = {3, 5, 2, 9, 6, 7, 1, 4, 8, 0}; int i; qsort(array, 10, sizeof(int), cmp); for (i = 0; i < 10; i++) printf("%d ", array[i]); printf("\n"); return 0; }
上面的程序定义了一个整型数组array,调用qsort()函数对其进行排序,排序时使用的比较函数为cmp(),输出排序结果。
qsort()函数的应用场景非常广泛,它可以用来对任何数据类型的数组进行排序,只要提供一个正确的比较函数即可。