​请用Python手写实现插入排序

解析:


插入排序(Insertion Sort)的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。


算法执行步骤:

1 从第一个元素开始,该元素可以认为已经被排序

2 取出下一个元素,在已经排序的元素序列中从后向前扫描

3 如果被扫描的元素(已排序)大于新元素,则将被扫描元素后移一位

4 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置

5 将新元素插入到该位置后

6 重复步骤2~5


​请用Python手写实现插入排序


Python实现


def insert_sort(ary):

    n = len(ary)

    for i in range(1,n):

        if ary[i] < ary[i-1]:

            temp = ary[i]


            #待插入的下标

            index = i           

            #从i-1 循环到 0 (包括0)

            for j in range(i-1,-1,-1):  

                if ary[j] > temp :

                    ary[j+1] = ary[j]

                    #记录待插入下标

                    index = j   

                else :

                    break

            ary[index] = temp

    return ary

​请用Python手写实现插入排序


想从传统IT行业转行AI?

担心转行失败?

再也不用怕了!


上一篇:第一节:访问者模式——需求说明&基本介绍


下一篇:求二叉树的层次遍历