插入排序

插入排序(Insertion sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。

算法描述


  1.  从第一个元素开始,这个元素可以被认为已经排序
  2. 取出下一个元素,在已经排序的元素列表中从后向前扫描
  3. 如果该元素(已排序)大于新元素,将该元素移到下一个位置
  4. 重复步骤3,直到找到已排序的元素小于或等于新元素的位置
  5. 将新元素插入到该位置后
  6. 重复步骤2~5

代码描述


 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         }
原文地址:https://www.cnblogs.com/xxinwen/p/3484263.html