演算法導論 插入排序

2022-01-11 07:44:35 字數 390 閱讀 7317

這是演算法中較為基礎的乙個演算法, 其原理 與打牌時候的摸牌類似,我們把一堆牌不看摸好了上來, 接下來我們要對我們的牌進行處理,那我們一般的方法就是 比如 這張牌 先 看它前面的是否有比他大的,如果有的,我們就插到 那張牌的前面。 在計算機語言裡面,我們可以模擬成乙個陣列,進行插入排序,當前 " 牌 "與其 「之前的牌」進行比較,如果 大於的話,把大於的向後移動,找到不比 「當前牌」 大的牌之後, 插入。我們進行如下的描述。

其 演算法描述 如下:(公升序)

假設 資料 a[n]

for

( i 從陣列的第二個數開始 到a.length)

a[j+1]=temp;//

如果沒有,則把當前"牌 " 賦值給最後乙個比 當前"牌" 大 的"牌"

}

演算法導論 插入排序

introduction to algorithms second edition chapter2,insertion sort date 2014 9 14 include include include define max 50 typedef struct sortarr 直接插入排序 i...

演算法導論 插入排序

插入排序應該算是比較好理解的一種了,原理類似於我們打牌的時候,摸牌插入手中的情景。來看一下圖,立刻就明白了 我們將乙個陣列int a 12 看做一副撲克牌,假設陣列有12個數,那麼撲克牌也一共有十二張,放在一起開始 我們先抽一張拿到手上,這時候,我們不需要排序,因為不論哪一張先被我們抽上來,不論大小...

演算法導論 插入排序

對於只有乙個元素的陣列,本身為已序。對於兩個元素的a,認為 a0 為已序,a1為key 若key a0 則將key 放到a0後。若不是,後移a0 對於多個元素的陣列 考慮將key 插入到已序的 a0 aj a0 a1 a2.中,可以將key 與aj a0 逐個比較,並後移,直到遇到乙個比key 小的...