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备份Mysql脚本
Aug 11 Python
web.py在模板中输出美元符号的方法
Aug 26 Python
如何在django里上传csv文件并进行入库处理的方法
Jan 02 Python
详解如何在Apache中运行Python WSGI应用
Jan 02 Python
Python3+OpenCV2实现图像的几何变换(平移、镜像、缩放、旋转、仿射)
May 13 Python
Python 通过微信控制实现app定位发送到个人服务器再转发微信服务器接收位置信息
Aug 05 Python
基于Python批量生成指定尺寸缩略图代码实例
Nov 20 Python
解决安装pyqt5之后无法打开spyder的问题
Dec 13 Python
Python脚本破解压缩文件口令实例教程(zipfile)
Jun 14 Python
python zip()函数的使用示例
Sep 23 Python
python3爬虫中引用Queue的实例讲解
Nov 24 Python
字典算法实现及操作 --python(实用)
Mar 31 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
php 设计模式之 工厂模式
2008/12/19 PHP
Laravel 5 框架入门(四)完结篇
2015/04/09 PHP
php获取twitter最新消息的方法
2015/04/14 PHP
静态的动态续篇之来点XML
2006/08/15 Javascript
通过JS获取用户本地图片路径并显示的代码
2012/02/16 Javascript
JSP跨iframe如何传递参数实现代码
2013/09/21 Javascript
JavaScript验证图片类型(扩展名)的函数分享
2014/05/05 Javascript
js语法学习之判断一个对象是否为数组
2014/05/13 Javascript
采用call方式实现js继承
2014/05/20 Javascript
Javascript中Date类型和Math类型详解
2016/02/27 Javascript
JavaScript 实现 Tab 点击切换实例代码
2017/03/25 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
2017/09/22 Javascript
Vue中的异步组件函数实现代码
2018/07/20 Javascript
详解javascript appendChild()的完整功能
2018/08/18 Javascript
layui时间控件选择时间范围的实现方法
2019/09/28 Javascript
vue实现一个6个输入框的验证码输入组件功能的实例代码
2020/06/29 Javascript
解决vue+webpack项目接口跨域出现的问题
2020/08/10 Javascript
Vue 组件的挂载与父子组件的传值实例
2020/09/02 Javascript
Vue如何实现验证码输入交互
2020/12/07 Vue.js
python获取文件版本信息、公司名和产品名的方法
2014/10/05 Python
利用python程序生成word和PDF文档的方法
2017/02/14 Python
Python使用Selenium+BeautifulSoup爬取淘宝搜索页
2018/02/24 Python
python实现词法分析器
2019/01/31 Python
Python字符串对象实现原理详解
2019/07/01 Python
Python使用type关键字创建类步骤详解
2019/07/23 Python
python 协程 gevent原理与用法分析
2019/11/22 Python
python写一个随机点名软件的实例
2019/11/28 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
2020/03/28 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
英国领先的家庭时尚品牌:Peacocks
2018/01/11 全球购物
Bonami斯洛伐克:购买家具和家居饰品
2019/07/02 全球购物
应届毕业生如何写求职信
2014/02/16 职场文书
七一党日活动总结
2014/07/08 职场文书
公务员群众路线心得体会
2014/11/03 职场文书
教师评职称工作总结2015
2015/04/20 职场文书
MySQL 外键约束和表关系相关总结
2021/06/20 MySQL