美文网首页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