冒泡排序和插入排序都是稳定的排序算法。
答案A。稳定排序保持相等元素的原始相对顺序。选择排序在交换时可能改变相等元素的相对位置,因此是不稳定的。
稳定排序的定义:相等元素排序后相对顺序不变。选择排序在交换时可能改变相等元素顺序,因此不稳定。
【考点】排序稳定性|冒泡排序算法特性|插入排序算法特性
解题思维:看到"稳定排序"立刻锁定算法内部比较与交换逻辑。冒泡排序只在 a[i] > a[i+1] 时交换,相等不交换,天然稳定;插入排序遇到相等元素时总是插在末尾,相对顺序不变。关键观察是"交换条件"和"插入位置",这是稳定性的根源。
陷阱拆解:错误选项常把"排序"与"打乱顺序"混为一谈,利用学生直觉——"排序肯定乱"——而忽略稳定性定义。题目最阴险的细节是"没有反例",直接陈述,考的是对算法本质的理解。如果你只背结论"冒泡、插入是稳定的",不理解为什么,遇到"快速排序是否稳定"这类变式就会栽跟头。
反命题思维:命题人可能把"都是稳定的"改成"都不是稳定的",或者加入"在特定数据下不稳定"的条件。刷到类似题时,先问自己"命题人想考我什么"——是考稳定性的定义,还是考算法细节?