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数独游戏
Mar 30 Python
python构建基础的爬虫教学
Dec 23 Python
django模板加载静态文件的方法步骤
Mar 01 Python
在Python中过滤Windows文件名中的非法字符方法
Jun 10 Python
python实现图片九宫格分割
Mar 07 Python
用sqlalchemy构建Django连接池的实例
Aug 29 Python
python单例模式原理与创建方法实例分析
Oct 26 Python
Python sep参数使用方法详解
Feb 12 Python
pycharm中导入模块错误时提示Try to run this command from the system terminal
Mar 26 Python
部署Django到阿里云服务器教程示例
Jun 03 Python
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
Sep 09 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
Jan 27 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性能优化工具篇Benchmark类调试执行时间
2011/12/06 PHP
如何修改和添加Apache的默认站点目录
2013/07/05 PHP
php利用smtp类实现电子邮件发送
2015/10/30 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
网页中可关闭的漂浮窗口实现可自行调节
2013/08/20 Javascript
FF(火狐)浏览器无法执行window.close()解决方案
2014/11/13 Javascript
JavaScript操作XML/HTML比较常用的对象属性集锦
2015/10/30 Javascript
js正则表达式验证邮件地址
2015/11/12 Javascript
jQuery取得iframe中元素的常用方法详解
2016/01/14 Javascript
jQuery实现的简单分页示例
2016/06/01 Javascript
jQuery实现调整表格单列顺序完整实例
2016/06/20 Javascript
js 获取当前web应用的上下文路径实现方法
2016/08/19 Javascript
微信小程序 vidao实现视频播放和弹幕的功能
2016/11/02 Javascript
微信小程序 两种滑动方式(横向滑动,竖向滑动)详细及实例代码
2017/01/13 Javascript
JS简单判断函数是否存在的方法
2017/02/13 Javascript
Angular.js实现动态加载组件详解
2017/05/28 Javascript
浅谈Vue下使用百度地图的简易方法
2018/03/23 Javascript
浅谈React高阶组件
2018/03/28 Javascript
解决微信授权成功后点击按返回键出现空白页和报错的问题
2020/06/08 Javascript
[49:20]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
基于python socketserver框架全面解析
2017/09/21 Python
python和pygame实现简单俄罗斯方块游戏
2021/02/19 Python
python deque模块简单使用代码实例
2020/03/12 Python
Python CategoricalDtype自定义排序实现原理解析
2020/09/11 Python
基于python模拟bfs和dfs代码实例
2020/11/19 Python
Python离线安装各种库及pip的方法
2020/11/28 Python
法国二手手袋、手表和奢侈珠宝购物网站:Collector Square
2018/07/05 全球购物
世界上第一个水枕头:Mediflow
2018/12/06 全球购物
九年级科学教学反思
2014/01/29 职场文书
快餐公司创业计划书
2014/04/29 职场文书
会议通知格式范文
2015/04/15 职场文书
歌舞青春观后感
2015/06/10 职场文书
敬老院活动感想
2015/08/07 职场文书
《确定位置》教学反思
2016/02/18 职场文书
Springboot如何使用logback实现多环境配置?
2021/06/16 Java/Android
Java 实战项目之家居购物商城系统详解流程
2021/11/11 Java/Android