插入排序

插入排序(Insertion sort)的算法描述是一種簡單直觀的排序算法。它的工做原理是經過構建有序序列,對於未排序數據,在已排序序列中從後向前掃描,找到相應位置並插入。算法

 

算法描述spa


 

  1.  從第一個元素開始,這個元素能夠被認爲已經排序
  2. 取出下一個元素,在已經排序的元素列表中從後向前掃描
  3. 若是該元素(已排序)大於新元素,將該元素移到下一個位置
  4. 重複步驟3,直到找到已排序的元素小於或等於新元素的位置
  5. 將新元素插入到該位置後
  6. 重複步驟2~5

 

代碼描述code


 

 1         void Sort(int[] array)
 2         {
 3             for (int i = 1; i < array.Length; i++)
 4             {
 5                 int j = i - 1;
 6                 int temp = array[i];
 7 
 8                 while (j >= 0 && temp < array[j])
 9                 {
10                     array[j + 1] = array[j];
11 
12                     j--;
13                 }
14 
15                 array[j + 1] = temp;
16             }
17         }
相關文章
相關標籤/搜索