public class insertSort {
public static void main(String[] args) {
//如果数组有5个数据,那么需要比较4次
//定义外层循环
int[] arry = {23, 32, 1000, 40, 99,12345,1234567,1};
for (int i = 1; i < arry.length; i++) {//外层length-1 次循环
//定义一个数据,记录一下从哪开始接着根拍好序的数据比较
//定义一个变量保存a[i]
int muddle = arry[i];
int j = i - 1;
for (; j >= 0 && arry[j] > muddle/* 这里我用的是muddle ,muddle是arry[i]传过来的,但是这里换成arry[i]就会出错。怎么回事 */; j--) {
arry[j + 1] = arry[j];
}
arry[j + 1] = muddle;
}
for (int i = 0; i < arry.length; i++) {
System.out.println(arry[i]);
}
}
}
第二个for循环里面说了,muddle 换成arry[i] 就排序失败,但是上一句muddle的值还是arry[i]给的,咋回事啊,
我白学了么,我傻了