Java 为什么这种排序算法不起作用?
尝试使用此函数时,我遇到ArrayOutofBoundsIndex异常,但IDE不允许我使用调试器。有人知道发生了什么吗?我造成了一些错误循环吗?想象一下当我等于v.length-1时会发生什么,你的if语句:Java 为什么这种排序算法不起作用?,java,algorithm,sorting,Java,Algorithm,Sorting,尝试使用此函数时,我遇到ArrayOutofBoundsIndex异常,但IDE不允许我使用调试器。有人知道发生了什么吗?我造成了一些错误循环吗?想象一下当我等于v.length-1时会发生什么,你的if语句: public static int[] organizaC(int[] v) { int i, temp = 0; if (v.length > 0) { for (i = 0; i < v.length; i++) {
public static int[] organizaC(int[] v) {
int i, temp = 0;
if (v.length > 0) {
for (i = 0; i < v.length; i++) {
if (v[i] > v[i + 1]) {
temp = v[i];
v[i] = v[i + 1];
v[i + 1] = temp;
i = 0;
}
}
return v;
} else {
return null;
}
}
您试图在索引v.lenght处访问您的数组,但当数组的索引从0变为v.length-1时,您就出界了 如果您使用单个项对数组进行排序,那么v[i+1]是什么?谢谢。我一直认为错误在I=0时的循环重置中。谢谢
if(v[v.length-1] > v[v.length-1+1])