插入排序

思想:将一个列表看成一个有序列表和无序列表,从无序列表中的第一个数据插入到已经排好序的列表中,从而得到一个新的有序的数据数+1的列表

实现:总共两个循环,外循坏是表示要插入的元素,共需插入n-1趟,内循环是对当前有序数列进行插入位置查找,并把数据插入到该位置中

代码实现

def insert_sort(li):for i in range(1,len(li)):  #表示要插入的数据的下标temp = li[i]j = i-1while j>=0 and li[j]>temp: #将数据插入到正确的位置,将已排序数据和temp比较li[j+1] = li[j]        #比temp大的值往右移j = j-1                #换前一个数与temp比较li[j+1] = temp  #最后temp的位置为li[j+1]print(li)return lili=[1, 3, 2, 4, 6, 7, 8, 5]
insert_sort(li)

结果如下:

python实现排序算法lowb三人组之插入排序相关推荐

  1. 排序算法lowb三人组-插入排序

    排序算法lowb三人组-插入排序 def insert_sort(li):for i in range(1, len(li)): # i表示摸到的牌的下标tmp = li[i] # 摸到的牌j = i ...

  2. 算法-lowb三人组

    ---恢复内容开始--- d定义: pandas是一个强大的Python数据分析的工具包. pandas是基于NumPy构建的. 安装方法: pip install pandas import pan ...

  3. python 经典排序算法

    python 经典排序算法 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存.常见的内部排序算 ...

  4. python常见排序算法解析

    python--常见排序算法解析 算法是程序员的灵魂. 下面的博文是我整理的感觉还不错的算法实现 原理的理解是最重要的,我会常回来看看,并坚持每天刷leetcode 本篇主要实现九(八)大排序算法,分 ...

  5. 四种常见排序算法的对比和总结 插入排序、归并排序、快速排序、堆排序

    目录 一.排序算法的时间复杂度 二.排序算法是否是原地排序 三.排序算法的额外空间 四.排序算法的稳定性 Stable 五.总结 这里我们要总结的排序算法主要有4个,分别是插入排序Insertion ...

  6. 选择排序法python详解-Python选择排序算法(三)

    优化选择排序算法,大致思路是每次循环分别找到最大值和最小值,放到列表的头部和尾部 代码如下: #! coding:utf8 import random def select_sort(arr): fo ...

  7. python 选择排序算法

    一.选择排序(selection sort) 选择排序(Selection sort)是一种简单直观的排序算法.它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位 ...

  8. python全排序算法题_Python的100道经典算法题(1)

    按照c语言的100道经典算法题,自己原创写的,就得是自己的练习题了 [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析:可填在百位.十位.个位的数 ...

  9. 【python】排序算法的稳定性冒泡排序(画图详细讲解)

    一.排序算法的稳定性 二.冒泡排序 a.重复比较相邻的元素,如果前面的比后面的大,就交换它们两个 b.每次遍历整个数组,遍历完成后,下一次遍历的范围往左缩1位 c.重复前面步骤,直到排序完成 三.代码 ...

  10. python实现排序算法_python实现·十大排序算法之插入排序(Insertion Sort)

    简介 插入排序(Insertion Sort)是一种简单直观的排序算法.它的工作原理是:通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入. 算法实现步骤 从第一个元素开 ...

最新文章

  1. AngularJS从入门到实践(一)
  2. Hibernate工作原理(1)
  3. SAP License:FI学习笔记
  4. java jquery jsonp 跨域_Jquery跨域调用(JSONP)遇到error问题的解决
  5. java中重试的使用工具
  6. zookeeper资料
  7. Atitit 数据库结果集映射 ResultSetHandler 目录 1. 常见的四种配置ResultSetHandler 1 2. Dbutil 1 3. Mybatis 致敬 3 4. H
  8. qmc转码_QQ音乐qmc3格式转换器免费版
  9. 部署AdminLTE
  10. NeurIPS 2020 | 基于协同集成与分发的协同显著性目标检测网络
  11. 天兔(Lepus)监控操作系统(OS)安装配置
  12. 台式机通过笔记本的WIFI连接上网,并实现笔记本对台式机的远程连接
  13. PCI Device Class Codes
  14. 推荐一个开源的任务管理工具DooTask(支持私有部署)
  15. 一、搜索引擎篇-揭开es神秘的面纱
  16. python 英语翻译_Python 实现中英文翻译
  17. 教授专栏16 | 李家涛: 善用科技拓新价值 是经营致胜关键
  18. 趋肤效应和铜皮粗糙度关系以及带来导线损耗影响
  19. 【IDEA】com.intellij.openapi.project.IndexNotReadyException
  20. 日常办公耗材管理解决方案

热门文章

  1. nuxt整合vue-pdf插件和使用createLoadingTask方法进行分页
  2. MySQL基础篇(上)
  3. 简单理解什么叫联邦学习(全)
  4. 应用之星:H5制作又出一利器,分分钟刷爆朋友圈
  5. 3 Linux虚拟机创建修改删除文件和文件夹
  6. 不一样的国外广告联盟与cpa赚钱!
  7. 激活win10专业版
  8. log4j警告的解决办法-狂奔的蜗牛-iteye技术网站
  9. 短信跳转到微信关注公众号的方案
  10. The server encountered an internal error () that prevented it from fulfilling this request