什么是稳定排序
目的:有两个排序关键字的时候,可以让第一个关键字的排序结果服务于第二个关键字排序中数值相等的那些数
小史:原始数据,a2和a4的位置都是3。对于稳定排序来说,排序后的序列,a2一定还是在a4前面。但是对于非稳定排序来说,就不一定了,可能排完序之后,a4反而在a2的前面了。
为什么还要分稳定和非稳定的排序呢
- 咱们每次考试完成后,都会按照分数进行排序。分高的自然就是第一名。分数相同的同学怎么办呢?那就是按照上次的分数来分高低。上次分高的排在前面。
- 再比如我们班的同学,已经按照学号排好序了。现在要按照身高排序。如果是稳定排序排好之后,身高相同的同学,还是按照学号顺序的。
- 一个物品有多个属性:价格,销量,要求对价格升序的同时销量也升序。显然需要稳定的算法。