解析:


插入排序(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?

担心转行失败?

再也不用怕了!


©著作权归作者所有:来自51CTO博客作者mb5fd86d5f5874e的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. Selenium3自动化测试【16】元素定位之Tag
  2. 对复杂网络节点重要性的排序方法
  3. 323作业
  4. 深度排序模型在淘宝直播的演进与应用
  5. 210323 CSS 盒子模型 字体图标 定位
  6. 【CSS入门】理解css中min-width和max-width,width与它们之间的区
  7. box-sizing
  8. 0323作业-CSS盒模型、CSS相对定位和绝对定位及块元素垂直居中
  9. css之盒模型与定位

随机推荐

  1. android实现系统的返回键和home键
  2. Android Studio下Java Jni技术
  3. android设备你所应该知道的Android设计
  4. Android菜鸟的成长笔记(3)——给QQ登录界面
  5. android中的UI单线程模型
  6. Android:你要的WebView与 JS 交互方式 都
  7. Android 利用Matrix实现图片随手指平移、
  8. Android(安卓)获取uri的正确文件路径的办
  9. Unity在Android Activity中加载的时期测
  10. Android 1.5和Android 1.6等各版本API的