You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mergesort归并排序算法处理大数据集时排序结果乱序问题排查

归并排序错误修复说明

错误根因

你调用mergeSort方法时传参错误:mergeSort的第三个参数要求传入数组的最大下标,但你的代码中传入的是array4[array4.length-1],也就是数组最后一个元素的数值,而非下标。
比如当你排序100个元素的数组时,数组最大下标应为99,若数组最后一个元素值为100,你相当于给mergeSort传入了end=100,直接超出数组索引范围,导致末尾部分元素未被纳入排序逻辑,最终呈现前半部分有序、末尾乱序的现象。

修复方法

将main方法中调用归并排序的代码修改为:

mergeSort(array4, 0, array4.length - 1);

另外你注释掉的快速排序调用也存在相同的传参错误,如需启用也要同步修改为:

quickSort(array3, 0, array3.length - 1);

修改后即可正常完成全数组排序。

内容的提问来源于stack exchange,提问作者AlloNata

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 09:45:03