美文网首页R/Python
「python编程算法系列」直接插入排序算法

「python编程算法系列」直接插入排序算法

作者: 茶苯海 | 来源:发表于2019-11-10 15:46 被阅读0次

将第i条记录插入前面i-1条已排序好的记录中:
关键字比较
移动记录

# 直接插入排序算法
def InsertSort(myList):
    # 获取列表长度
    length = len(myList)

    for i in range(1,length):
        # 设置当前值前一个元素的标识
        j = i - 1

        # 如果当前值小于前一个元素,将当前值作为一个临时变量存储,将前一个元素后移一位
        if (myList[i] < myList[j]):
            temp = myList[i]
            myList[i] = myList[j]

        # 继续往前寻找,如果有比临时变量大的数字,则后移一位,直到找到比临时变量小的元素或者到达列表的第一个元素
            j = j - 1
            while j >= 0 and myList[j] > temp:
                myList[j + 1] = myList[j]
                j = j -1

            # 将临时变量赋值到合适位置
            myList[j + 1] = temp

myList = [49,38,65,97,76,13,27,49]
InsertSort(myList)
print(myList)

相关文章

网友评论

    本文标题:「python编程算法系列」直接插入排序算法

    本文链接:https://www.haomeiwen.com/subject/hcdabctx.html