第12讲 排序-插入排序

63 阅读1分钟

插入式排序属于内部排序法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的。

思路:依次选中一个元素进行排序,后面的元素依次插入进来放入合适的位置。

image.png

public class InsertSort {

    public static void main(String[] args) {
        int[] arry={7,6,82,1,-5,9,23,0,45,3};
        insertSort(arry);
        for (int i : arry) {
            System.out.print(i+" ");
        }
    }

    private static void insertSort(int[] arry) {

        for(int i = 1; i<arry.length; i++){
            int intValue=arry[i];//待插入数
            int insertIndex=i-1;//前面元素下标
            while (insertIndex>=0&&intValue<arry[insertIndex]){
                arry[insertIndex+1]=arry[insertIndex];
                insertIndex--;
            }
            //退出while循环 说明插入位置找到 +1之前为了找到前一个元素
            arry[insertIndex+1]=intValue;
        }
    }
}