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

解析:


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


算法执行步骤:

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

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

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

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

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

6 重复步骤2~5


图片


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

图片


想从传统IT行业转行AI?

担心转行失败?

再也不用怕了!

相关文章

使用爬虫利器 Playwright,轻松爬取抖查查数据 我们先分析登...
轻松爬取灰豚数据的抖音商品数据 调用两次登录接口实现模拟登...
成功绕过阿里无痕验证码,一键爬取飞瓜数据 飞瓜数据的登录接...
一文教你从零开始入门蝉妈妈数据爬取,成功逆向破解数据加密...
抽丝剥茧成功破解红人点集的签名加密算法 抽丝剥茧破解登录签...
轻松绕过 Graphql 接口爬取有米有数的商品数据 有米有数数据...