什么是稳定排序
在之前的排序算法介绍中,忘记介绍什么是稳定排序,这里给大家简述一下。
稳定排序的概念
待排序的记录序列中可能存在两个或两个以上关键字相等的记录。排序前的序列中Ri领先于Rj(即i<j).若在排序后的序列中Ri仍然领先于Rj,则称所用的方法是稳定的。
假设在无序的数组中存在两个相等的值x1、x2,x1原本在x2的左边,如果在排序结束后x1仍然在x2的左边,那么该排序就是一个稳定排序。相反的,如果排序结束后x1在x2的右边,那么该排序就是不稳定排序。
举个栗子:现在有一个无序数组,其中有两个相等的值。
①如果用插入排序的过程为:
排序完成后,x1扔处于x2的左边,那么插入排序就是一个稳定排序。
②如果使用选择排序的过程为: