美文网首页
InsertSort

InsertSort

作者: Saber真是太可爱了 | 来源:发表于2016-05-04 16:09 被阅读0次

    插入排序

    算法描述

    1. 从第一个元素开始,该元素可以认为已经被排序
    2. 取出下一个元素,在已经排序的元素序列中从后向前扫描
    3. 如果该元素(已排序)大于新元素,将该元素移到下一位置
    4. 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置
    5. 将新元素插入到该位置后
    6. 重复步骤2~5
    #!/usr/bin/env python3
    # -*- coding:utf-8 -*-
    def InsertSort(array):
        length = len(array)
        for i in range(1, length):
            j = i
            temp = array[j]
            while (j>0 and temp<array[j-1]):
                array[j] = array[j-1]
                j = j-1
            array[j] = temp
            print("第%d趟排序结果为: " % i, array)
        return array
    
    def main():
        array = [5, 4, 3, 2, 1]
        print("待排序列表为: ", array)
        InsertSort(array)
    
    if __name__ == "__main__":
        main()
    

    相关文章

      网友评论

          本文标题:InsertSort

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