c语言中qsort函数的使用、编程中的一些错误
qsort()函数: 功能:相当于c++sort,具有快排的功能,复杂度的话nlog(n) 注:C中的qsort()采用的是快排算法,C++的sort()则是改进的快排算法。两者的时间复杂度都是nlogn,但是实际应用中,sort()一般要快些,建议使用sort()。 头文件:stdlib.h 用法: void qsort(void* base,size_t_num,size_t_width,int(__cdecl*compare)(const void*,const void*)); 参数:1、待排序数组,排序之后的结果仍放在这个数组中 2、数组中待排序元素数量 3、各元素的占用空间大小(单位为字节) 4、指向函数的指针,用于确定排序的顺序(需要用户自定义一个比较函数) 1、对int类型进行排序: 代码: 1 #include<stdio.h> 2 #include<stdlib.h> 3 int num[100]; 4 int cmp_int(const void* aa,const void* bb) 5 { 6 int* a=(int*)aa; 7 int* b=(int*)bb; 8 return *a-*b; 9 } 10 int main() 11 { 12 int i; 13 num[1]=3; 14 num[2]=2; 15 num