python中的插入排序的简单用法


Posted in Python onJanuary 19, 2021

现在大家学习python掌握内容了解太多太多,但是最重要的不是掌握了解算法的使用,而是了解算法原理远比使用算法命令更重要,现在大家了解算法应该都不低于5种了吧,比如排序算法、冒泡算法、归并算法等等,那对本期主题插入算法有过了解吗?如果没有了解的小伙伴可以跟着小编一起来了解学习。

插入排序简介:

将列表分为有序区和无序区两个部分,最初有序区只有一个元素,即第一个元素。

然后每次从无序区选择一个元素,插入到有序区中,直到无序区为空。

运行图示:

python中的插入排序的简单用法

实现代码:

# 选择排序 O(n2)
def insert_sort(li):
 for i in range(1, len(li)):
  tmp = li[i]
  j = i - 1
   while j >= 0 and li[j] > tmp:
      li[j + 1] = li[j]
   j -= 1
    li[j+1] = tmp

扩展实例代码:

# -*- coding: utf-8 -*-
'''
插入排序:
 类似于摸牌,从牌堆中摸一张牌,和手中现有手牌比较。若大则放右边,小放左边。

''
def insert_sort(input_list):
 if len(input_list)<=1:
 return input_list
 for right in range(1,len(input_list)): # 开始从牌堆中摸牌
 val = input_list[right]  # 当前摸牌的值
 for left in range(0,right): # 循环和手中牌进行比较
  if val <= input_list[left]: # 若<最左边的牌了
  input_list[left+1:right+1]=input_list[left:right]
  input_list[left]=val
  break
 return input_list
if __name__ == '__main__':
 pre_list = [1,6,3,3,7]
 res = insert_sort(pre_list)
 print(res)

到此这篇关于python中的插入排序的简单用法的文章就介绍到这了,更多相关python中的插入排序怎么用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python 从远程服务器下载日志文件的程序
Feb 10 Python
python实现保存网页到本地示例
Mar 16 Python
详解Python3.1版本带来的核心变化
Apr 07 Python
Python多线程和队列操作实例
Jun 21 Python
Python基础教程之tcp socket编程详解及简单实例
Feb 23 Python
python中解析json格式文件的方法示例
May 03 Python
Queue 实现生产者消费者模型(实例讲解)
Nov 13 Python
python通过zabbix api获取主机
Sep 17 Python
python绘制多个子图的实例
Jul 07 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
Aug 09 Python
python图片剪裁代码(图片按四个点坐标剪裁)
Mar 10 Python
Python调用C/C++的方法解析
Aug 05 Python
Python实现淘宝秒杀功能的示例代码
Jan 19 #Python
Python爬虫后获取重定向url的两种方法
Jan 19 #Python
详解Python+Selenium+ChromeDriver的配置和问题解决
Jan 19 #Python
VSCODE配置Markdown及Markdown基础语法详解
Jan 19 #Python
python+selenium自动化实战携带cookies模拟登陆微博
Jan 19 #Python
selenium携带cookies模拟登陆CSDN的实现
Jan 19 #Python
django项目中使用云片网发送短信验证码的实现
Jan 19 #Python
You might like
神族 Protoss 剧情介绍
2020/03/14 星际争霸
截获网站title标签之家内容的例子
2006/10/09 PHP
将文件夹压缩成zip文件的php代码
2009/12/14 PHP
php中的三元运算符使用说明
2011/07/03 PHP
php对大文件进行读取操作的实现代码
2013/01/23 PHP
javascript replace()正则替换实现代码
2010/02/26 Javascript
jquery常用技巧及常用方法列表集合
2011/04/06 Javascript
深入理解javascript作用域和闭包
2014/09/23 Javascript
jquery的总体架构分析及实现示例详解
2014/11/08 Javascript
ECMA5数组的新增方法有哪些及forEach()模仿实现
2015/11/03 Javascript
JS从数组中随机取出几个数组元素的方法
2016/08/02 Javascript
JavaScript中绑定事件的三种方式及去除绑定
2016/11/05 Javascript
微信小程序 视图容器组件的详解及实例代码
2017/01/19 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(1)
2017/02/20 Javascript
websocket+node.js实现实时聊天系统问题咨询
2017/05/17 Javascript
JS算法题之查找数字在数组中的索引位置
2019/05/15 Javascript
微信小程序非跳转式组件授权登录的方法示例
2019/05/22 Javascript
JS实现继承的几种常用方式示例
2019/06/22 Javascript
vue语法自动转typescript(解放双手)
2019/09/18 Javascript
简单了解JavaScript arguement原理及作用
2020/05/28 Javascript
使用Python写一个量化股票提醒系统
2018/08/22 Python
pycharm 配置远程解释器的方法
2018/10/28 Python
python代码实现逻辑回归logistic原理
2019/08/07 Python
Python dict和defaultdict使用实例解析
2020/03/12 Python
python如何查看安装了的模块
2020/06/23 Python
python 提高开发效率的5个小技巧
2020/10/19 Python
英国女性化妆品收纳和家具网站:Beautify
2019/12/07 全球购物
与C++相比,Java中的数组有什么不同
2014/03/25 面试题
法律专业个人实习自我鉴定
2013/09/23 职场文书
数学专业毕业生自荐信
2013/11/10 职场文书
优秀员工自荐书
2013/12/19 职场文书
《满井游记》教学反思
2014/02/26 职场文书
安全生产目标责任书
2014/04/14 职场文书
小学安全教育月活动总结
2014/07/07 职场文书
社区灵活就业证明
2014/11/03 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书