单选题
38.下列排序算法中,( )能保证每趟排序都可以确定一个元素的最终位置。
Ⅰ.直接插入排序 Ⅱ.冒泡排序 Ⅲ.快速排序 Ⅳ.选择排序
【正确答案】
D
【答案解析】直接插入排序:直接插入排序不能保证每次排序之后都能有一个元素在最终位置上,比如经过几次排序变成3、4、5、6、7、8、2,经过最后一次排序变为2、3、4、5、6、7、8,可以看出最后每一个元素都与上一次的位置不一样。 冒泡排序:每次排序之后都会有一个最大元素往下沉,并且都是其最终位置。
快速捧序:快速排序的思想就是一个数为中心轴,左边的数小于该元素,右边的数大于该元素;所以无论怎么排,最终此中心轴的位置不会变,所以每次排序都能确定一个中心轴的位置。
选择排序:显然选择排序和冒泡排序有点类似,每次都可以确定一个最小的放在第一个位置。
综上所述,Ⅱ、Ⅲ、Ⅳ都可以保证每趟排序都可以确定一个元素的最终位置,故选D选项。