qsort排序
程序员文章站
2023-12-26 15:44:09
...
//使用qsort快速排序
void qsort(void* base,int nelem,unsigned int width,int(pfCompare)(const void ,const void*))
base为待排序的数组
nelem为数组元素个数
width为数组每个元素所占字节长度
pfCompare为函数指针指向一个"比较函数"
#include<stdio.h>
#include<stdlib.h>
#define num 5
//比较函数,若elem1<elem2,即不需要交换则返回负整数(由小到大排)
int cmp(const void* elem1,const void* elem2)
{
return *(int *)elem1 - *(int *)elem2;
}
int main()
{
int arr[num] = {0,7,2,5,8};
qsort(arr, num, sizeof(int), cmp);
for (int i = 0; i < num; ++i)
{
printf("%d", arr[i]);
}
printf("\n");
system("pause");
return 0;
}