排序算法的稳定性有什么意义?

来源:百度知道 编辑:UC知道 时间:2024/06/19 22:44:54
稳定的排序算法好还是不稳定的好?为什么好?

当然是稳定的好。。

稳定意思是说原本键值一样的元素排序后相对位置不变

学习的时候,可能编的程序里面要排序的元素都是简单类型,实际上真正使用的时候,可能是对一个复杂类型的数组排序,而排序的键实际上只是这个元素中的一个属性,对于一个简单类型,数字值就是其全部意义,即使交换了也看不出什么不同。。。但是对于复杂的类型,交换的话可能就会使原本不应该交换的元素交换了。。

比如,一个“学生”数组,按照年龄排序,“学生”这个对象不仅含有“年龄”,还有其他很多属性,稳定的排序会保证比较时,如果两个学生年龄相同,一定不交换。