22问答网
所有问题
悬赏100分!对给定的序列(54,73,21,35,67,78,63,24,89)进行从小到大的排序时,用快排第一次结果是什么
要过程~!好的给100分追加
举报该问题
推荐答案 2009-09-23
在第一趟快速排序过程中,设轴值为第一个关键字即54 ,先将其放入r[0]中,用low和high来表示整个序列的左右指针,开始时分别位于序列两端,即low=1,high=9.首先high指针从右往左开始扫描,直到扫描到小于轴值的位置停下,本例中,找到24停下,然后将24放入low处,完成第一次交换,此时24的位 置空下,以备存放下一个大于轴值的记录,然后从low=low+1的位置从左到右找大于轴值的记录,找到73停下,将其放入high指示的位置(24的初始位置),将73的位置空下,完成第二次交换,然后从high=high-1的位置再次从右到左查找小于54的记录,找到35,然后完成第三次交换;……直到low和high相遇,将轴值填入low的位置,整个序列完成第一趟交换,这个时候发现小于54的全在左边,大于的全在右边
24 35 21 54 67 78 63 73 89
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://22.wendadaohang.com/zd/CCSICTfh6.html
其他回答
第1个回答 2009-09-22
快速排序又不是只有一种实现的, 就选择哪个值作为中间值就有无数种可能的选择了。 常用的包括: 第一点、中点、最后一点、 这三点的平均值。 这个选择直接影响了第一次的结果。 就算这个选定了,比如第一个,接下来是如何调整还是实现决定, 看你那循环具体怎么写了, 反正只要满足那个左小右大的要求就都是正确的快速排序。
如果非要有个答案的话只能说第一次的结果可能是:
24, 21 , 35, 54, 67, 78, 63, 73, 89本回答被提问者采纳
第2个回答 2009-09-23
ls正解
相似回答
noip初赛模拟题
答:
8.
对给定的
整数
序列(54,73,21,35,67,78,63,24,89)进行从小到大的排序时,
采用快速排序的第 一趟扫描的结果是( ). A)(24,21,35,54,67, 78,63,73,89) B)(24,35,21,54,67, 78,63,73,89) C)(24,21,35,54,67, 63,73,78,89) D)(21,24,35,54,63, 67,73,78,89) E)(24,21,35,...
...
100的
自然数存入数组a中,然后把数组a
进行
升序
排序
。
答:
60 58
78
48 97 61 59 60 53 76 70 65 40
73
73 74 94 80 94 36 13 85 45 66
大家正在搜
给定一个从小到大有序的整数序列
对于给定序列先进行冒泡排序
给定程序的功能是求下列分数序列
给定排序码的序列
给定k个排好序的序列
给定序列的二叉排序树
对于给定的一组关键字序列
对给定的数据元素的关键码序列
给定关键字序列快速排序
相关问题
一到一百,里面有多少个八?
谜语大全及答案100个要难猜的
生活小常识.
100以内的合数有哪些
关于保护环境的标语
描写人物外貌的句子,越短越好
好句大全
50首五言绝句