排序 插入

部分有序,某个数的左边有序。

实现是,假定某个数的左边都是有序的。将这个数空出,往左比较一直到比他小退出。否则,不停交换位置,将大数后移。最后,将假定的那个数填入交换后的空洞。

public void insertionSort(){
    int in, out, temp;
    for(out = 1; out < array.length; out++){
        temp = array[out];
        in = out;
        while(in > 0 && array[in -1] >= temp){
            a[in] = a[in - 1];
            --in;
        }
        a[in] = temp;
    }
}

 

你可能感兴趣的:(#,算法)