Arrays.sort(Object [] a) - 它是如何实现的?

hel*_*hod 6 java algorithm mergesort

是否有关于如何实现Arrays.sort(Object [] a)使用的mergeSort的资源?虽然它记录得很好,但我很难理解它(特别是为什么在以递归方式调用mergeSort()时切换src和dest).

Boz*_*zho 11

这里是源java.util.Arrays.

实际上,您在JDK中拥有该源代码 - 只需java.util.Arrays在IDE中打开,源代码+注释就会出现.如果您没有IDE,请查看JDK_HOME\src.zip

然后,将它放在IDE中并跟踪它的工作原理.

  • 放置断点(并在调试模式下运行程序)
  • 使用 System.out.println(..)
  • 改变它的一部分,看看它们是如何反映出来的.
  • 阅读有关合并排序维基百科文章
  • 注意这个评论: // Recursively sort halves of dest into src