所以我正在阅读各种排序实现的Arrays 文档.我注意到的是,一些实现使用了调整的快速排序,而其他实现使用了修改后的mergesort.为什么会出现差异?
谢谢!
Eug*_*sky 24
Quicksort用于原始类型的数组,而mergesort用于Object []数组.
为什么归并用于该归并对象的主要原因是稳定的-它不会重新排序是相等的元素:http://en.wikipedia.org/wiki/Sorting_algorithm#Stability
对于原语,排序的稳定性是没有意义的,因为你无法区分两个相等的值.因此,使用quicksort(除了对对象数组进行排序时,执行mergesort).此外,quicksort可以在适当的位置完成,因此不需要分配另一个数组.
归档时间: |
|
查看次数: |
10165 次 |
最近记录: |