Insert Insertion-Sort Sort

Insertion Sort

The relevant code

class Sort3{
    /** 插入排序 Insertion-Sort
     * 它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。
     * 从第一个元素开始,该元素可以认为已经被排序;
     * 取出下一个元素,在已经排序的元素序列中从后向前扫描;
     * 如果该元素(已排序)大于新元素,将该元素移到下一位置;
     * 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置;
     * 将新元素插入到该位置后
     * 交换:54321
     * 第一次:45321
     * 第二次:34521
     * 第三次:23451
     * 第四次:12345**/
    public void insertSort(int number[]){
        if(number.length<=1|| number==null)
            return;
        else {
            for(int i=1;i<number.length;i++){
                     int numberInsert=number[i];
                     int j=i-1;
                    while(j>=0&&number[j]>numberInsert)
                    {
                        number[i]=number[j];
                        j--;
                    }
                    number[j+1]=numberInsert;
            }
        }
    }
}
Published 38 original articles · won praise 0 · Views 1115

Guess you like

Origin blog.csdn.net/weixin_45489155/article/details/104892357