演算法學習第一站:插入排序
插入排序是演算法學習的第一站,簡單來講就是遍歷陣列,將數插入到比它小的數後面,而之前已經排序過的陣列中比此數大的部分向後移一位
問題:將給定的 n 個數從小到大輸出,數之間空格隔開,行末換行且無空格。
#include
using
namespace std;
intmain()
n[k+1]
=key;
/*此時就可以把key插入到正確的位置*/
}for
(int i=
0;i) cout<<<
' ';
/*輸出*/
return0;
}
可以知道插入排序的最壞情況執行時間為θ(n²),很顯然,這個演算法其實並不比氣泡排序優越多少。當然,插入排序實現方式更加優雅,這就夠了,作為演算法入門的第一站。 演算法學習筆記 排序 插入排序
插入排序是最簡單的一種排序方法,對於少量的資料排序是十分有效的。插入排序十分容易理解,平時玩撲克時,在理牌的過程中就是使用了插入排序的思想。可以通過這張來直觀的了解 下面是一張插入排序的動態圖。下面使用c語言來實現這一演算法 include void insertionsort int int in...
插入排序演算法學習
插入排序就如同手裡放了一堆紙牌,把紙牌從左到右進行排序。insert sort a for j 2 to n n為陣列a的長度 do key a j insert a j into the sorted sequence a 1.j 1 i j 1 while i 0 and a i key do ...
演算法學習 插入排序
插入排序 insertion sort 的演算法描述是一種簡單直觀的排序演算法。它的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入 實現 public static void insertsort int array if array.length 0 r...