在待排序的一组关键码序列k1,k2,…,kn中,若ki和kj相同,且在排序前ki领先于kj,那么排序后,如果ki和kj的相对次序保持不变,ki仍领先于kj,则称此类排序为稳定的。若在排序后的序列中有可能出现kj领先于ki的情形,则称此类排序为不稳定的。( )是稳定的排序方法。

2023-09-01

A.快速排序
B.简单选择排序
C.堆排序
D.冒泡排序

参考答案:D

本题考查数据结构基础知识。
冒泡排序是稳定的排序方法,因为元素向前或向后交换时,都是在相邻的位置进行,因此可以保证关键码相同的元素不作交换。
快速排序主要通过划分实现排序,在划分序列时,基本思路是将序列后端比基准元素小者移到前端,将序列前端中比基准元素大者移到后端,元素往前移动或往后移动时会跨越中间的若干个元素,这样关键码相同的元素的相对位置就可能改变,所以快速排序是不稳定的排序方法。
简单选择排序、堆排序的过程中,同样存在元素移动时会跨越若干个元素的情况,所以也是不稳定的排序方法。

相关推荐