设待排序关键码序列为(25,18,9,33,67,82,53,95,12,70),要按关键码值递增的顺序进行排序,采取以第一个关键码为分界元素的快速排序法,第一趟完成后关键码33被放到了第几个位置?

admin2009-01-19  31

问题 设待排序关键码序列为(25,18,9,33,67,82,53,95,12,70),要按关键码值递增的顺序进行排序,采取以第一个关键码为分界元素的快速排序法,第一趟完成后关键码33被放到了第几个位置?

选项 A、3
B、5
C、7
D、9

答案8

解析 本题是对快速排序法的考查。快速排序法的基本方法是:在待排序序列中任取一记录,以它为基准用交换的方法将所有的记录分成两部分,关键码值比它小的一部分,关键码值比它大的另一部分,再分别对两个部分实施上述过程,一直重复到排序完成。在本题中采取以第一个关键码25为分界元素,按照快速排序的思想,首先25与最后一个元素70比较,位置不变,然后与12比较,12小于25,故交换位罩,此时关键码序列为(12,18,9,33,67,82,53,95,25,70)。再用25与18比较,位置不变;与,9比较,位置不变;;与33比较,33大于25,故交换位置,现在序列为(12,18,6,25,67,82,53,95,33,70),33移到了笫9拉,此后的第一趟排序不会再影响其位置,故答案为D。
转载请注明原文地址:https://jikaoti.com/ti/qaQ7FFFM
0

最新回复(0)