Arrays.Sort如何正常工作?

时间:2015-10-26 02:01:02

标签: java arrays sorting quicksort median

我在这里查看源代码:http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/Arrays.java#Arrays.sort%28int%5B%5D%2Cint%2Cint%29

所以,基本上它使用快速排序,但基本情况是当数组足够小以使用插入排序(大小<7)时。如果大小等于7,则选择枢轴作为中间元素。如果尺寸> 7是我困惑的时候。如果大小小于40,我看到它得到了中位数,但是med3方法如何正常工作?如果尺寸大于40则变得更加复杂。

如果尺寸&gt;该方法如何找到中位数以及它究竟做了什么? 40?

1 个答案:

答案 0 :(得分:1)

如果大小大于7但小于40,它将使用起点,终点和中点的中位数作为枢轴值。

如果尺寸&gt;在图40中,它使得枢轴值成为阵列中大致相等间隔的9个值的中值。