插入排序法

步骤

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

代码

void InsertionSort (ont *a, int len)
{
    for (int j = 1; j < len; j++)
    {
        int key = a[j]; //记录新元素
        int i = j - 1; //前一位的已排序元素
        while (i >= 0 && a[i] > key) // 若已排序元素大于新元素
        {
            a[i + 1] = a[i]; //已排序元素往后移
            i--;
        }
        a[i + 1] = key; // 将新元素插入
    }
}

 

posted @ 2021-07-31 22:49  白藏i  阅读(39)  评论(0)    收藏  举报