qsort可实现任意数据的排序
使用形式
qsort(void* base,size_t num,size_t size,int (*compar)(const void*,const void*));
| | | |
| | | |
数组的首元素地址 | | |
| 数组的元素大小 |
数组的元素个数 函数指针
该函数指针指针的是一个函数
指向的函数是用来比较待排序数组的两个元素
#include<stdio.h>
#include<stdlib.h>
int PaiXu(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 rs = sizeof(arr) / sizeof(arr[0]);
qsort(arr, rs, sizeof(int), PaiXu);
for (int i = 0; i < rs; i++)
{
printf( "%d ", arr[i]);
}
return 0;
}