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内置的字符串处理函数详细整理(覆盖日常所用)
Aug 19 Python
Python中的random()方法的使用介绍
May 15 Python
理解生产者消费者模型及在Python编程中的运用实例
Jun 26 Python
好用的Python编辑器WingIDE的使用经验总结
Aug 31 Python
Python 2与Python 3版本和编码的对比
Feb 14 Python
go和python变量赋值遇到的一个问题
Aug 31 Python
django+echart绘制曲线图的方法示例
Nov 26 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
Jan 14 Python
python的移位操作实现详解
Aug 21 Python
python基础 range的用法解析
Aug 23 Python
Python实现查找数据库最接近的数据
Jun 08 Python
Pytorch学习之torch用法----比较操作(Comparison Ops)
Jun 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
萌王史莱姆”萌王性别尴尬!那“萌战”归女组还是男?
2018/12/17 日漫
无数据库的详细域名查询程序PHP版(2)
2006/10/09 PHP
PHP之COOKIE支持详解
2010/09/20 PHP
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
2014/06/05 PHP
PHP中error_log()函数的使用方法
2015/01/20 PHP
[原创]php简单防盗链验证实现方法
2016/07/09 PHP
IE6,IE7下js动态加载图片不显示错误
2010/07/17 Javascript
jquery 单击li防止重复加载的实现代码
2010/12/24 Javascript
有关于JS构造函数的重载和工厂方法
2013/04/07 Javascript
jquery $.each()使用探讨
2013/09/23 Javascript
微信小程序实现实时圆形进度条的方法示例
2017/02/24 Javascript
用JS编写一个函数,返回数组中重复出现过的元素(实例)
2017/09/14 Javascript
详解NODEJS基于FFMPEG视频推流测试
2017/11/17 NodeJs
Vue 中使用vue2-highcharts实现曲线数据展示的方法
2018/03/05 Javascript
浅谈Vue.js 中的 v-on 事件指令的使用
2018/11/25 Javascript
浅谈Layui的eleTree树式选择器使用方法
2019/09/25 Javascript
vue实现吸顶、锚点和滚动高亮按钮效果
2019/10/21 Javascript
vue 动态组件(component :is) 和 dom元素限制(is)用法说明
2020/09/04 Javascript
如何利用nodejs自动定时发送邮件提醒(超实用)
2020/12/01 NodeJs
[27:28]Ti4 冒泡赛第二天 iG vs NEWBEE 1
2014/07/15 DOTA
Python中用Descriptor实现类级属性(Property)详解
2014/09/18 Python
python编码最佳实践之总结
2016/02/14 Python
Python3中的真除和Floor除法用法分析
2016/03/16 Python
Python过滤列表用法实例分析
2016/04/29 Python
Python Scapy随心所欲研究TCP协议栈
2018/11/20 Python
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
pandas通过loc生成新的列方法
2018/11/28 Python
python KNN算法实现鸢尾花数据集分类
2019/10/24 Python
python之生成多层json结构的实现
2020/02/27 Python
python矩阵运算,转置,逆运算,共轭矩阵实例
2020/05/11 Python
Python实现文件压缩和解压的示例代码
2020/08/12 Python
法国珠宝店:CLEOR
2017/01/29 全球购物
学校端午节活动方案
2014/08/23 职场文书
给老婆的检讨书
2015/01/27 职场文书
2015年世界无烟日活动总结
2015/02/10 职场文书
水电施工员岗位职责
2015/04/11 职场文书