直接插入排序演算法思路是:
待排序記錄 r1,r2,… ,rn–1, rn
第一步:將無序表打第乙個元素作為乙個有序表。
第二步:將r2加入到有序表中,使有序表依舊有序
.........
第 n 步: (r1,r2,… ,rn–1), rn.
以此類推。
直接插入排序演算法的時間複雜度,最好的情況是待排序記錄是有序的,o(n),最壞打情況是記錄從大到小排列,o(n2)。
貼出我的**
//這是我寫的乙個排序方法和輸出方法
public static void sort(int data)
data[j + 1] = temp;}}
public static void print(int data)
system.out.println();
}
以下是用乙個測試類來測試結果
package directinsert;
/** * created by linxs on 16-6-14.
*/public class testsort ;
sort.print(data);
sort.sort(data);
sort.print(data);}}
**比較簡單,就不多做贅述了,最後看執行結果。
演算法 直接插入
排序挨個來,今天到插入排序。下面來談談插入排序裡的直接插入排序 解決麻煩的事情,可以先從簡單的 問題入手 咱們先開始兩個數的插入排序。具體過程 先把要排序的數放到臨時變數裡,然後與第乙個數比較,如果可以插入到第乙個數的位置,然後第乙個數向後移,即把第乙個數放到第二個位置。最後再把第二個數放到第乙個位...
直接插入演算法
插入演算法是每次將乙個新資料插入到有序佇列中的合適位置的一種演算法。演算法的詳細過程描述如下 假設有乙個無序佇列r1,r2,r3,rn 1 首先認為r1是有序的,然後將r2,r3,rn依次插入到這個有序佇列的合適位置,因此我們需要乙個外部迴圈 2 我們需要將ri插入到合適位置,ri前面的資料已經是有...
經典演算法學習 直接插入排序
直接插入排序也是比較簡單的排序,基本思想是 每次將乙個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子串行中的適當位置,直到全部記錄插入完成為止。示例 上傳至具體描述如下 設陣列為a 0.n 1 1 初始時,a 0 自成為乙個有序區,無序區為a 1.n 1 令i 1 2 將a i 併入到當前的有...