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生成器的使用方法
Nov 21 Python
以一段代码为实例快速入门Python2.7
Mar 31 Python
解决python3中解压zip文件是文件名乱码的问题
Mar 22 Python
python使用tensorflow深度学习识别验证码
Apr 03 Python
Python定义二叉树及4种遍历方法实例详解
Jul 05 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
Jul 25 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
Aug 02 Python
python操作文件的参数整理
Jun 11 Python
Django REST framework 分页的实现代码
Jun 19 Python
Django框架视图介绍与使用详解
Jul 18 Python
python输出数学符号实例
May 11 Python
Pytorch 如何加速Dataloader提升数据读取速度
May 28 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
Codeigniter实现发送带附件的邮件
2015/03/19 PHP
PHP、Java des加密解密实例
2015/04/27 PHP
php三元运算符知识汇总
2015/07/02 PHP
PHP读取文件内容的五种方式
2015/12/28 PHP
从阿里妈妈发现的几个不错的表单验证函数
2007/09/21 Javascript
js原型继承的两种方法对比介绍
2014/03/30 Javascript
js跨域访问示例(客户端/服务端)
2014/05/19 Javascript
Bootstrap富文本组件wysiwyg数据保存到mysql的方法
2016/05/09 Javascript
jQuery实现checkbox列表的全选、反选功能
2016/11/24 Javascript
jquery实现输入框实时输入触发事件代码
2016/12/21 Javascript
浅谈angularJS的$watch失效问题的解决方案
2017/08/11 Javascript
js 实现watch监听数据变化的代码
2019/10/13 Javascript
写了个监控nginx进程的Python脚本
2012/05/10 Python
python解析发往本机的数据包示例 (解析数据包)
2014/01/16 Python
深入解析Python编程中super关键字的用法
2016/06/24 Python
Flask框架实现给视图函数增加装饰器操作示例
2018/07/16 Python
Python对象与引用的介绍
2019/01/24 Python
python3 requests库文件上传与下载实现详解
2019/08/22 Python
python3 selenium自动化 下拉框定位的例子
2019/08/23 Python
解决Python logging模块无法正常输出日志的问题
2020/02/21 Python
python和php哪个容易学
2020/06/19 Python
django models里数据表插入数据id自增操作
2020/07/15 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
一款恶搞头像特效的制作过程 利用css3和jquery
2014/11/21 HTML / CSS
英国地毯卖家:The Rug Seller
2019/07/18 全球购物
光荣入党自我鉴定
2014/01/22 职场文书
大学班长的职责
2014/01/27 职场文书
会计专业导师推荐信
2014/03/08 职场文书
遗体告别仪式主持词
2014/03/20 职场文书
美化环境标语
2014/06/20 职场文书
入股合作协议书
2014/10/12 职场文书
优秀共产党员事迹材料2016
2016/02/29 职场文书
适合青年人白手起家的创业项目分享
2019/08/16 职场文书
Nginx四层负载均衡的配置指南
2021/06/11 Servers
Javascript的promise,async和await的区别详解
2022/03/24 Javascript
Golang 实现WebSockets
2022/04/24 Golang