排序演算法 插入排序 直接插入

2021-08-16 20:50:56 字數 679 閱讀 7376

// 借鑑的網上排序演算法資料  寫一下自己怎麼理解的直接插入排序的   只是為了自己看懂 以便忘記的時候檢視,希望大神不要噴,

// 有什麼不好的可以指出

// 詳細的請看 

public static int a = ;

public void print(int a)

system.out.println();

}@test

/** * 檔案初態不同時,直接插入排序所耗費的時間有很大差異。若檔案初態為正序,

* 則每個待插入的記錄只需要比較一次就能夠找到合適的位置插入,故演算法的時間複雜度為o(n),這時最好的情況。

* 若初態為反序,則第i個待插入記錄需要比較i+1次才能找到合適位置插入,故時間複雜度為o(n2),這時最壞的情況。

* 直接插入排序的平均時間複雜度為o(n2)。

*/public void sort() else

}// 將現在找好的位置(遍歷temp前面的值 當沒有比temp大的時候j的值就是temp要插入的位置) 插入進去

// 因為都是與a[j]進行比較的 所以  temp是插入在a[j]後面乙個位置的 即a[j+1]

a[j+1] = temp;

}system.out.println("排序後:");

print(a);

}

排序演算法 插入排序 直接插入排序

package 插入排序 直接插入排序 從後向前找到合適位置後插入 穩定 基本思想 每步將乙個待排序的記錄,按其順序碼大小插入到前面已經排序的字序列的合適位置 從後向前找到合適位置後 直到全部插入排序完為止。public class 直接插入排序 system.out.println 排序之前 fo...

排序演算法 插入排序 直接插入排序

當插入第i i 1 個元素時,前面的v 0 v i 1 等i 1個 元素已經有序。這時,將第i個元素與前i 1個元素v i 1 v 0 依次比較,找到插入位置即將v i 插入,同時原來位置上的元素向後順移。在這裡,插入位置的查詢是順序查詢。直接插入排序是一種穩定的排序演算法,其實現如下 public...

插入排序 直接插入排序

直接插入排序演算法思想 將整個資料表分成左右兩個子表,其中左子表為有序表,右子表為無序表 整個排序過程就是將右子表中的元素逐個插入到左子表中,直到右子表為空,而左子表成為新的有序表。演算法過程分析 將待排序的元素存放在陣列r n 1 中,在初始狀態下,r 0 為監視哨,r 1 為有序區,r 2 r ...