排序算法的稳定性的意义

常见的几种排序算法如: 直接插入排序,折半插入排序,冒泡排序,快速排序,希尔排序等排序算法,直接插入排序和冒泡排序是稳定的,算法的稳定性是衡量一个算法健壮的标准之一,那算法的稳定性有什么意义呢,望大神解答。

以为自己看错了,仔细一看,快速排序是不稳定的。其实是保留自己在排序前的序值。可以说,不稳定的排序算法在排序之后,丢失了其原先的信息。问题是你在使用这种算法的时候,是不是在意这一点。

此稳定非彼稳定。这里的稳定性和算法健壮没有一毛钱的关系。特指排序条件相等的两个元素,排序后的顺序是否和排序前一致。有时候我们需要按照多个条件排序,比如举重比赛,按照成绩排序,成绩相同,按照体重的逆序排序。
那么如果排序算法是稳定的,我们可以先按照体重逆序排序后再按照成绩排序,则结果就是我们要的。如果是不稳定排序,我们需要额外的步骤保证结果的正确。