插入排序

插入排序:

  思路: 

    将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。

    从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。

  时间复杂度:

    最好 O(N)        当数组正序

    最坏 O(N ^ 2)  当数组倒叙


(一)代码 

  

public class InsertSort {

    public static void main(String[] args) {
        int arr[] = new int[]{3,3,4,7,13,435,54,2,6666,234};
        insertSort(arr);
        System.out.print(Arrays.toString(arr));
    }

    private static void insertSort(int[] arr) {

        for(int i = 1 ; i < arr.length ; i++){
            int temp = arr[i];
            int j = i;
            while(j > 0 && temp < arr[j - 1]){
                arr[j] = arr[j-1];
                j--;
            }
            //存在比之前小的元素,插入
            if(i != j){
                arr[j] = temp;
            }
        }
        
    }
}

 


 

 

 

        

            嘀嘀嘀

      

 

posted @ 2021-06-30 16:01  朝才  阅读(16)  评论(0编辑  收藏  举报