Java 在这种插入排序中,数组如何排序?我不知道';我不明白算法是如何运行的';t使整个数组的数字相同 公共静态void insertionSort(int[]数组) { int移位、迭代、锁定; for(iterate=1;iterate=0&&

Java 在这种插入排序中,数组如何排序?我不知道';我不明白算法是如何运行的';t使整个数组的数字相同 公共静态void insertionSort(int[]数组) { int移位、迭代、锁定; for(iterate=1;iterate=0&&,java,arrays,sorting,insertion-sort,Java,Arrays,Sorting,Insertion Sort,在这种插入排序中,数组如何排序?我不知道';我不明白算法是如何运行的';t使整个数组的数字相同 公共静态void insertionSort(int[]数组) { int移位、迭代、锁定; for(iterate=1;iterate=0&&array[shift]>lock) { 数组[shift+1]=数组[shift]; 班次=班次-1; } 数组[shift+1]=锁; } } 请您解释一下,为什么您认为整个阵列之后会是一个数字?然后我们可以看看你的推理中的差距。建议你一步

在这种插入排序中,数组如何排序?我不知道';我不明白算法是如何运行的';t使整个数组的数字相同
公共静态void insertionSort(int[]数组)
{
int移位、迭代、锁定;
for(iterate=1;iterate=0&&array[shift]>lock)
{
数组[shift+1]=数组[shift];
班次=班次-1;
}
数组[shift+1]=锁;
}
}

请您解释一下,为什么您认为整个阵列之后会是一个数字?然后我们可以看看你的推理中的差距。建议你一步一步地完成代码并观察它的运行。几乎每个Java环境都有一个调试器,它允许你在示例数据上一步一步地完成程序并观察值的变化。从长远来看,学习这个工具并自己弄明白它会比让别人解释更好。一个不相关的注释:这里变量名的选择很奇怪。
public static void insertionSort (int [] array)
{
    int shift, iterate, lock;

    for (iterate = 1; iterate < array.length; iterate++)
    {
        lock = array [iterate];
        shift = iterate - 1;

        // I don't understand this while loop. Wouldn't the whole array 
        // be 1 number afterwards?

        while (shift >= 0 && array [shift] > lock)
        {
            array [shift + 1] = array [shift];
            shift = shift - 1;
        }
        array [shift + 1] = lock;
    }
}