假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的。
打个比方 : 一个班级参加了一次考试,成绩出来了,总得排个名吧,假如使用的排序方法时不稳定的排序方法,比如就是快速排序方法,按的只是学生的总成绩.等同学们的排名出来后,学生a,b,c的成绩是一样的,但是,各科成绩的顺序却是:c,b,a。。。 不行,再使用这个排序算法重新排了一次,结果却是:a,c,b 了,为什么每次的排名不同嫩 ! 这个就是算法本身的问题了,这个就体现了这个概念---稳定性
选择排序、希尔排序、快速排序和堆排序不是稳定的排序算法,
冒泡排序、插入排序、归并排序、基数排序是稳定的排序算法。