2016-08-24 29 views
0

我不太清楚爲什麼我的合併排序實現得到一個計算器錯誤。我已經多次查看代碼,但是我沒有明白爲什麼會發生這種情況。我試過調試,但很難理解爲什麼當我遍歷代碼時,值0和4(數組的第一個和最後一個索引)永遠不會改變。最後它會拋出堆棧溢出錯誤。Java Mergesort實現有一個計算器錯誤

回答

1

第一次遞歸調用mergesort(第17行)應該使用「start,mid」,而不是「start,end」。這會讓你陷入無限循環,所以你最終會用完堆棧。

相信你的調試器。

+0

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

+0

非常感謝! – user836087