已知一组记录为(46,74,53,14,26,38,86,65,27,34)给出采用快速排序法进行排序时每一趟的排序结果。 20

速度啊... 速度啊 展开
 我来答
帐号已注销
2020-06-08 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:168万
展开全部

第一趟:[16 12 23 4 6] 26 [77 62 102 45 35 130]

第二趟:[6 12 4] 16 [23] 26 [35 62 45] 77 [102 130]

第三趟: 6 [12] 16 [23] 26 35 [62 45] 77 102 [130]

第四趟:4 6 12 16 23 26 35 45 [62] 77 102 130

第五趟:4 6 12 16 23 26 35 45 62 77 102 130

/* Note:Your choice is C IDE */

#include "stdio.h"

void main()

{

baiint i;

void quicksort(int a[],int start,int end);

int s[]={32,23,93,66,12,69,15,76,54};

quicksort(s,0,9);

for( i=0;i<9;i++)

printf("%4d",s[i]);

}

void quicksort(int*a,int start,int end)

{

int i,j,k,t;

k=a[start];

i=start;j=end;

while(i<j){

while(a[j]>=k&&i<j)

j--;

a[i]=a[j];

a[j]=k;

while(a[i]<=k&&i<j)

i++;

a[j]=a[i];

a[i]=k;

}

for( t=0;t<9;t++)

printf("%4d",a[t]);

printf("\n");

a[i]=k;

if(i-1>start) quicksort(a,start,i-1);

if(i+1<end) quicksort(a,i+1,end);

扩展资料:

void qsort(void *base, int nelem, int width, int (*fcmp)(const void *,const void *));

参数:

1、待排序数组首地址;

2、数组中待排序元素数量;

3、各元素的占用空间大小; 

4、指向函数的指针,用于确定排序的顺序。

参考资料来源:百度百科-快速排序算法

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式