看下面的代碼,第一次迭代是不是意味着i = 0和j = 0 - 1?爲什麼沒有錯誤?我認爲插入排序是假設從數組/右側開始。這段代碼是如何完成的?關於訂單的插入排序代碼困惑
class stevee {
public static void main(String[] args) {
int A[] = {2,1,9,8,12};
new stevee().sort(A);
System.out.println(Arrays.toString(A));
}
public void sort(int[] data) {
for (int i=0; i<data.length; i++) { //access each element one by one
int current = data[i]; //
int j = i-1;
while (j >= 0 && data[j] > current) {
data[j+1] = data[j];
j--;
}
data[j+1] = current;
}
}
}
在&&運算符的情況下) –