稳定性还是有用的。
什么是排序算法稳定性
两个相等元素的相对位置不变,在前的在排序后还是在前,后前的在排序后还是在后。
稳定性有什么用
直接举个例子:
有四个同学站一起,身高已经按照升序排列:
zhang san 1.7
zhang wu 1.8
li san 1.7
li wu 1.8
此时,你想将这四个同学再按照姓氏的拼音首字母安装升序排序,同时保持身高排序不变。
要达到的最终的排序结果应该是:
li san 1.7
li wu 1.8
zhang san 1.7
zhang wu 1.8
如果使用非稳定排序算法,例如选择排序,进行排序的结果为:
li san 1.7
li wu 1.8
zhang wu 1.8
zhang san 1.7
你会发现,zhang san 1.7
跑到了 zhang wu 1.8
后面去了。
而稳定排序就不会出现这种情况。
总得来说,这个稳定性排序的作用就是在当前排序规则下,不破坏之前的排序规则产生的对当前规则而言相同的元素的相对顺序。
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论。