之前面试的时候,被问到过,选择排序稳定还是不稳定,当时随口说的稳定,然后他问我原因,我这就回答不上来了,事后去百度了一下,
稳定的排序算法:就是能保证排序前两个相等的数在其序列的前后位置顺序与排序后它们两个数在序列的前后位置保持不变,比如a = b ,排序前a在b的前面,排序后a还是在b的前面。
不稳定的排序算法:
两个相等的数排序前后位置顺序发生改变,比如a = b,排序前a在b的前面,排序后b在a的前面
稳定性的好处:
排序算法如果是稳定的,那么从一个键上排序,然后再从另一个键上排序,第一个键排序的结果可以为第二个键排序所用。基数排序就 是这样,先按低位排序,逐次按高位排序,低位相同的元素其顺序再高位也相同时是不会改变的。