排序算法(一)插入排序

插入排序类似纸牌玩家整理手中的纸牌:每次取一张纸牌,并在取下一张之前,将它放在适当的位置,使手中的所有纸牌按顺序排列。

时间复杂度:O(N2)

空间复杂度:O(1)

稳定性:稳定 

// C: 插入排序
void insertion_sort(int list[], int listSize) {
    int i, j;
    int next;
    for (i = 1; i < listSize; ++i) {
        next = list[i];
        for (j = i - 1; j >= 0 && next < list[j]; --j) {
            list[j + 1] = list[j];
        }
        list[j + 1] = next;
    }
}
# Python 3: 插入排序
def insertion_sort(array: list):
    for j in range(1,len(array)):
        key = array[j]
        i = j - 1
        while i >= 0 and array[i] > key:
            array[i + 1] = array[i]
            i = i - 1
        array[i + 1] = key
    print(array)
    return array

 

 

posted @ 2021-05-09 22:36  vicky2021  阅读(67)  评论(0编辑  收藏  举报