java基本排序算法之直接插入排序

直接插入排序的基本操作是將一個記錄插入到已經安排好序的有序表中,從而得到一個新的,記錄數增1的有序表

時間複雜度

  • 最好情況,排序表本身基本有序,時間複雜度爲O(n)
  • 最壞情況,排序表是逆序,時間複雜度爲O(n2)
  • 平均情況,時間複雜度爲O(n2)
    public void InsertSort(int[] array) {
        int j;
        for(int i = 1;i<array.length;i++){
            int flag = array[i];  //設置哨兵
            if(array[i]<array[i-1]){
                for(j = i-1;j >= 0 && array[j]>flag;j--){
                    array[j+1] = array[j];
                }
                array[j+1] = flag;
            }
        }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章