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标准日志模块logging的使用方法
Nov 01 Python
netbeans7安装python插件的方法图解
Dec 24 Python
Python中bisect的用法
Sep 23 Python
linux环境下python中MySQLdb模块的安装方法
Jun 16 Python
Python基础之getpass模块详细介绍
Aug 10 Python
使用Python读取二进制文件的实例讲解
Jul 09 Python
Python装饰器用法实例分析
Jan 14 Python
python实现倒计时小工具
Jul 29 Python
爬虫代理池Python3WebSpider源代码测试过程解析
Dec 20 Python
PyQt5中QTableWidget如何弹出菜单的示例代码
Feb 23 Python
python使用requests库爬取拉勾网招聘信息的实现
Nov 20 Python
2021年最新用于图像处理的Python库总结
Jun 15 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不用内置函数对数组排序的两个算法代码
2010/02/08 PHP
两个开源的Php输出Excel文件类
2010/02/08 PHP
用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤
2014/01/19 PHP
PHP简单获取视频预览图的方法
2015/03/12 PHP
php检查日期函数checkdate用法实例
2015/03/19 PHP
PHP实现页面静态化的超简单方法
2016/09/06 PHP
js 居中漂浮广告
2010/03/21 Javascript
JQuery表格内容过滤的实现方法
2013/07/05 Javascript
js 判断计算字符串长度/判断空的简单方法
2013/08/05 Javascript
Json实现异步请求提交评论无需跳转其他页面
2014/10/11 Javascript
后台获取ZTREE选中节点的方法
2015/02/12 Javascript
jquery实现简单的轮换出现效果实例
2015/07/23 Javascript
基于jquery实现日历签到功能
2020/09/11 Javascript
js获取元素的标签名实现方法
2016/10/08 Javascript
微信小程序 loading 详解及实例代码
2016/11/09 Javascript
微信小程序 UI与容器组件总结
2017/02/21 Javascript
JS实现table表格内针对某列内容进行即时搜索筛选功能
2018/05/11 Javascript
Vuex 在Vue 组件中获得Vuex 状态state的方法
2018/08/27 Javascript
Vue Cli3 创建项目的方法步骤
2018/10/15 Javascript
JS实现的贪吃蛇游戏案例详解
2019/05/01 Javascript
JQuery常见节点操作实例分析
2019/05/15 jQuery
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
2019/09/06 Javascript
浅谈JS中几种轻松处理'this'指向方式
2019/09/16 Javascript
[53:29]完美世界DOTA2联赛循环赛 DM vs Matador BO2第二场 11.04
2020/11/05 DOTA
详解Python各大聊天系统的屏蔽脏话功能原理
2016/12/01 Python
wxpython实现按钮切换界面的方法
2019/11/19 Python
Python爬虫:Request Payload和Form Data的简单区别说明
2020/04/30 Python
中国专业的音频分享平台:喜马拉雅
2019/05/24 全球购物
幼儿园大班毕业感言
2014/02/06 职场文书
写给领导的感谢信
2015/01/22 职场文书
会计求职自荐信
2015/03/26 职场文书
2015年社区居委会工作总结
2015/05/18 职场文书
纪检干部学习心得体会
2016/01/23 职场文书
Python pandas读取CSV文件的注意事项(适合新手)
2021/06/20 Python
Python语法学习之进程的创建与常用方法详解
2022/04/08 Python
如何vue使用el-table遍历循环表头和表体数据
2022/04/26 Vue.js