C语言使用快排的方式有两种,1、直接用库函数stdlib.h里的qsort函数 2、自己编写快排代码(第一种方便,第二种较为自由)
qsort 的函数原型是:
void qsort(void*base,size_t num,size_t width,int(__cdecl*compare)(const void*,const void*));
它的参数为:
1 待排序数组首地址
2 数组中待排序元素数量
3 各元素的占用空间大小
4 指向函数的指针,用于确定排序的顺序
下面附上样例代码:
#include
#include
int comp(const void*a,const void*b)
{
return *(int*)a-*(int*)b;
}
int main()
{
int *array;
int n;
scanf("%d",&n);
array=(int*)malloc(n*sizeof(int));
int i=;
for(;i
{
scanf("%d",(array+i));
}
qsort(array,n,sizeof(int),comp);
for(i=;i
{
printf("%d\t",array[i]);
}
free(array);
array=NULL;

本文介绍了C语言中实现快速排序的两种方法:使用stdlib.h库的qsort函数和自定义快排代码。qsort函数需要指定比较函数来决定排序顺序。此外,文章还提供了自定义快排的基本思想和代码实现,强调了快速排序的高效性,并指出它是排序算法中的常见选择。
最低0.47元/天 解锁文章
7551

被折叠的 条评论
为什么被折叠?



