c语言,求大神解答,求解题思路,谢谢

 我来答
匿名用户
推荐于2016-03-01
展开全部
选c。
第一次交换是23 13 51 76 81 26 57 69 66
第二次 23 13 51 66 81 26 57 69 76
第三次 23 13 51 57 81 26 66 69 76
第四次 23 13 51 57 66 26 81 69 76
第五次 23 13 51 57 26 66 81 69 76
快速排序是对冒泡排序的一种改进。它的基本思想是:通过一躺排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一不部分的所有数据都要小,然后再按次方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。

假设要排序的数组是A[1]……A[N],首先任意选取一个数据(通常选用第一个数据)作为关键数据,然后将所有比它的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一躺快速排序。一躺快速排序的算法是:

1)、设置两个变量I、J,排序开始的时候I:=1,J:=N;

2)以第一个数组元素作为关键数据,赋值给X,即X:=A[1];

3)、从J开始向前搜索,即由后开始向前搜索(J:=J-1),找到第一个小于X的值,两者交换;

4)、从I开始向后搜索,即由前开始向后搜索(I:=I+1),找到第一个大于X的值,两者交换;

5)、重复第3、4步,直到I=J;
追问
你的说明挺有道理的,可是最终答案给的是A,这个答案有没有问题呢
追答
…………这我就尴尬了
zjnny
2015-08-26 · TA获得超过2037个赞
知道小有建树答主
回答量:1055
采纳率:100%
帮助的人:1066万
展开全部
你先去了解快速排序的原理,了解了就明白了
第一遍就是以66为标准,比他小的放一边,大的放另一边
更多追问追答
追问
可是26是小的,却在66右边,这是为什么
追答
答案错了,选c,这个应该是个普遍性的印刷错误,书上的又不是不会印错,这个题已经有很多人确认过了,放心选c,原理过程楼下写的很明白了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式