排序算法的稳定性与不稳定性

  • 排序算法的稳定性:

    稳定的排序算法相等的数排序完成后其顺序保持不变。原始数据a2和a4的位置都是3,对于稳定排序排序后的数列a2一定还在a4前面,但是对于非稳定排序,可能拍完序a4反而在a2前面。
     
  • 哪些是稳定的哪些是非稳定的?

    冒泡和归并是稳定的,快排和选择是非稳定的
    排序算法的稳定性与不稳定性
     
  • 既然最后都是有序序列为什么还要分稳定和非稳定排序呢?

    比如在考试后,都会按照分数进行排序,分高的自然是第一名。但是分数相同的同学咋么办呢?那就按照上次的分数来分高低,上次分高的排在前面。这个时候就应该用稳定排序,在上次排好序的序列上,再针对这次的分数进行排序。稳定排序的结果能保证这次相同分数的人,上次分高的在前面。就是有两个排序关键字的时候,稳定排序可以让第一个关键字排序的结果服务于第二个关键字排序中数值相等的那些数