插入排序法
步骤
- 从第一个元素开始,该元素可以认为已经被排序
- 取出下一个元素,在已经排序的元素序列中从后向前扫描
- 若已排序元素大于新元素,将新元素前移一位
- 重复步骤3,直到找到已排序元素小于或等于新元素位置
- 将新元素插入该位置
- 重复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; // 将新元素插入 } }

浙公网安备 33010602011771号