qsort函数是一种不稳定的排序方法
返回值小于0,那么p1所指向元素会被排在p2所指向元素的前面
返回值大于0,那么p1所指向元素会被排在p2所指向元素的后面
返回值等于0,那么p1所指向元素与p2所指向元素的顺序不确定
//qsort函数的使用
#include<stdio.h>
#include<stdlib.h>
//返回值小于0,那么p1所指向元素会被排在p2所指向元素的前面
//返回值等于0,那么p1所指向元素与p2所指向元素的顺序不确定
//返回值大于0,那么p1所指向元素会被排在p2所指向元素的后面
//回调函数
int int_cmp(const void* p1, const void* p2)
{
return (*(int *)p1 > *(int *)p2);
}
int main()
{
int arr[] = { 1, 3, 5, 7, 9, 2, 4, 6, 8, 0 };
int i;
//利用qsort排序,传(数组首元素地址,数组元素个数,每个元素大小,回调指针此指比较大小的函数)
qsort(arr, sizeof(arr) / sizeof(arr[0]), sizeof(int), int_cmp);
for (i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) { //将排序好的数组依次打印
printf("%d", arr[i]);
}
printf("\n");
return 0;
}