1. 程式人生 > >老老實實複習演算法: 1 插入排序

老老實實複習演算法: 1 插入排序

幹了15年程式設計師了, 樂在其中, 還能繼續幹下去. 這幾天開始複習一下演算法, 於是購得一本<演算法導論>, 慢慢啃之. 

<演算法導論>中的陣列下標都是從1開始的, 但我實現的 c++ 程式碼中, 都是 0 開始.

插入排序

INSERTION_SORT(A)

for j = [2, len(A)]

key = A[j]

i = j - 1

while i > 0 and A[i] > key

A[i+1] = A[i]

i--

A[i+1] = key

C++實現程式碼如下:

與之對應的測試程式如下: (這個測試程式將用於測試所有實現的排序演算法)