1 回答

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊
int middle = (end + start) / 2;
Split(mainArray, start, middle, copyArray);
Split(mainArray, start, end, copyArray);
CombineArray(copyArray, start, middle, end, mainArray);
應(yīng)該
int middle = (end + start) / 2;
Split(mainArray, start, middle, copyArray);
Split(mainArray, middle, end, copyArray);
CombineArray(copyArray, start, middle, end, mainArray);
你非常接近,只是第二個(gè)遞歸調(diào)用的開(kāi)始索引應(yīng)該是從中間索引到結(jié)束,而不是再次開(kāi)始一直到結(jié)束(導(dǎo)致堆棧溢出錯(cuò)誤)
附帶說(shuō)明 - 您應(yīng)該重命名您的方法以符合標(biāo)準(zhǔn),例如:它們以小寫(xiě)字母開(kāi)頭,例如:
private void combineArray(int[] mainArray, int start, int middle, int end, int[] copyArray)
添加回答
舉報(bào)