数据结构-插入排序

98 阅读1分钟

排序是很常用的算法,排序的种类也有很多种,各种算法都有对应的复杂度,我们可以根据实际情况,选择对应的算法来达到我们的目的。

算法思路:

1、线性表L

2、从头到尾遍历表每个元素L[i],用L[i]与前面每一个元素再次比较,从而确定排序

image.png

image.png

image.png

代码参考:

int sortList(List* L) {
        int temp = -1;
        // 遍历线性表
        for (int i = 1; i < L->len; i++) {
                // 第二个开始,如果每一个比前面小,则交换位置
                if (L->data[i] < L->data[i - 1]) {
                        for (int j = i - 1; j >= 0 && L->data[j] > L->data[i]; j--) {
                                L->data[j + 1] = L->data[j];
                        }
                }
        }
        return -1;
}

代码仅供参考,思路重要。