设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为( )

设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为()。(A)2,3,5,8,6(B)3,2,5,8,6(C)3,2,5,... 设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为( )。
(A)2,3,5,8,6 (B) 3,2,5,8,6
(C)3,2,5,6,8 (D) 2,3,6,5,8

答案是C。可是,不是应该把后面找到的比5大的和比5 小的数(6和3)互相交换吗?那么答案应该就是2,3,5,6,8啊
展开
 我来答
仁昌爱娱乐
高粉答主

2020-07-16 · 专注关心娱乐
仁昌爱娱乐
采纳数:760 获赞数:459820

向TA提问 私信TA
展开全部

设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为(3,2,5,6,8)。

关键字序列(5,2,6,3,8)排序流程为:

(5,2,6,3,8)

=(3,2,6,5,8)

=(3,2,5,6,8)

快速排序的基本思想是通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。

扩展资料:

快速排序算法通过多次比较和交换来实现排序,其排序流程为先设定一个分界值,通过该分界值将数组分成左右两部分。将大于或等于分界值的数据集中到数组右边,小于分界值的数据集中到数组的左边。左边部分中各元素都小于或等于分界值,而右边部分中各元素都大于或等于分界值。

左边和右边的数据可以独立排序。对于左侧的数组数据,又可以取一个分界值,将该部分数据分成左右两部分,同样在左边放置较小值,右边放置较大值。右侧的数组数据也可以做类似处理。重复上述过程,当左、右两个部分各数据排序完成后,整个数组的排序也就完成了。

chiconysun
2015-01-13 · TA获得超过2.2万个赞
知道大有可为答主
回答量:5410
采纳率:92%
帮助的人:2553万
展开全部
首先将后面找到比基准值小的放到基准值的位置(或者是和基准值交换)
这样就是将3放到最前面了
...
所以答案是C
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式