2016-08-24 52 views
0

我不太清楚为什么我的合并排序实现得到一个计算器错误。我已经多次查看代码,但是我没有明白为什么会发生这种情况。我试过调试,但很难理解为什么当我遍历代码时,值0和4(数组的第一个和最后一个索引)永远不会改变。最后它会抛出堆栈溢出错误。Java Mergesort实现有一个计算器错误

回答

1

第一次递归调用mergesort(第17行)应该使用“start,mid”,而不是“start,end”。这会让你陷入无限循环,所以你最终会用完堆栈。

相信你的调试器。

+0

OMG,我不敢相信我忽略了那个! – user836087

+0

非常感谢! – user836087