這一系列部落格的特點就是——給出每趟排序的結果
本來想著好好寫一下過程,弄個什麼的,不過覺得網上的解析太多了,都比較好。《演算法導論》上面那個比喻,比做打撲克牌的插入新牌,就比較形象。所以這些部落格就算是對自己的總結吧。
#include void insertsort(int *m, int n)
{ int i,j,temp;
for(i=1;i=0 && temp
等下。。。。還沒結束!!!
最後3行已經排好序了,卻依然沒有停止。
改進一下sort演算法
結果是錯的,因為直接插入排序過程中,可能有一兩趟並沒有交換值。這不同於氣泡排序!
由此可見,要想優化演算法,必須切合實際情況作分析。
排序演算法 直接插入
直接插入排序基本思想 假設待排序的記錄存放在陣列r 1.n 中。初始時,r 1 自成1個有序區,無序區為r 2.n 從i 2起直至i n為止,依次將r i 插入當前的有序區r 1.i 1 中,生成含n個記錄的有序區。通過下面乙個排序的例子,來幫助我們理解直接插入排序的思想。我們假設下面無序的序列開頭...
排序演算法 直接插入
簡介 插入排序 insertion sort 是一種簡單直觀且穩定的排序演算法。基本思想是 每一趟將乙個待排序的記錄,按其關鍵字的大小插入到已經排好序的一組記錄的適當位置上,直到所有待排序記錄全部插入為止。圖示 類似玩撲克牌遊戲時,按序排列紙牌。示例 include using namespace ...
排序演算法 插入排序 直接插入
借鑑的網上排序演算法資料 寫一下自己怎麼理解的直接插入排序的 只是為了自己看懂 以便忘記的時候檢視,希望大神不要噴,有什麼不好的可以指出 詳細的請看 public static int a public void print int a system.out.println test 檔案初態不同時...