1.稳定性
就是一组数据,通过排序后,两个相等的a(红色和蓝色),如果红色的a依旧在蓝色a的前面则是稳定的,反之,则不稳定。
我们一个个看
1.冒泡排序,遇到相同的数时,可以不交换,所以显而易见稳定。
2.选择排序,有些人认为是稳定的,包括有些书上也说的是稳定的,但又一种情况,大家看一下。
红色的a确实在蓝色的a前面,可a + 1是无法控制的,所以选择排序不稳定。
3.插入排序,和冒泡差不多原理,稳定。
4.希尔排序,相同数据可能被分为不同组,所以不稳定。
5.归并排序,相同的数据,左边的先进tmp(新开辟的数组),所以稳定。
6.快速排序, 不稳定。(见下图)
7.对排序,不稳定。(见下图)