插入排序可是说是最简单的排序算法之一了,时间复杂度是O(N^2),下面是C语言实现
void insertion_sort(int *A, int n) { int i, j, x; //i从1开始而不是从0或2开始 for (i = 1; i < n; i++) { x = A[i]; j = i - 1; //j >= 0时迭代,j的位置可以看成是"空槽的前一个位置",所以最后一个空槽是下标为0的地方 while (j >= 0 && A[j] > x) { A[j + 1] = A[j]; j--; } A[j + 1] = x; } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-11 18:06:36