【发布时间】:2015-11-09 05:58:53
【问题描述】:
运行此代码:
public static int[] insertionSort(int[] array) {
for (int j = 1; j < array.length; j++) {
int cur = array[j];
int prev = j - 1;
while ( (prev > -1) && (array[prev] > cur)) {
array[cur] = array[prev];
prev--;
}
array[prev + 1] = cur;
}
return array;
}
我在 array[cur] = array[prev]; 上收到 Indexoutofbounds 错误;
这是我的测试用例:
int[] array = { 23, 5, 3, 5, 34, 2};
为什么会出错?我觉得逻辑不错
【问题讨论】:
-
如果您应用了基本调试(例如打印
cur和prev),您就不必问这个问题...
标签: java insertion-sort