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创建和删除目录的方法
Apr 29 Python
使用PyInstaller将Python程序文件转换为可执行程序文件
Jul 08 Python
python3中的md5加密实例
May 29 Python
python主线程捕获子线程的方法
Jun 17 Python
python抓取京东小米8手机配置信息
Nov 13 Python
在python下使用tensorflow判断是否存在文件夹的实例
Jun 10 Python
python字典的常用方法总结
Jul 31 Python
python 爬虫 实现增量去重和定时爬取实例
Feb 28 Python
pycharm远程连接vagrant虚拟机中mariadb数据库
Jun 05 Python
python将字典内容写入json文件的实例代码
Aug 12 Python
python关于倒排列的知识点总结
Oct 13 Python
Python OpenCV中的numpy与图像类型转换操作
Dec 11 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
Zend framework处理一个http请求的流程分析
2010/02/08 PHP
PHP备份/还原MySQL数据库的代码
2011/01/06 PHP
PHP合并静态文件详解
2014/11/14 PHP
PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码
2020/12/01 PHP
jquery 定位input元素的几种方法小结
2013/07/28 Javascript
JS获取DropDownList的value值与text值的示例代码
2014/01/07 Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
2014/02/19 Javascript
微信小程序 Storage API实例详解
2016/10/02 Javascript
快速解决js中window.location.href不工作的问题
2016/11/02 Javascript
vue.js实现含搜索的多种复选框(附源码)
2017/03/23 Javascript
nodejs结合Socket.IO实现的即时通讯功能详解
2018/01/12 NodeJs
详解react-redux插件入门
2018/04/19 Javascript
小程序scroll-view安卓机隐藏横向滚动条的实现详解
2019/05/16 Javascript
浅谈VUE防抖与节流的最佳解决方案(函数式组件)
2019/05/22 Javascript
用Node写一条配置环境的指令
2019/11/14 Javascript
angular8.5集成TinyMce5的使用和详细配置(推荐)
2020/11/16 Javascript
Python实现向QQ群成员自动发邮件的方法
2014/11/19 Python
Python装饰器使用实例:验证参数合法性
2015/06/24 Python
Python中矩阵库Numpy基本操作详解
2017/11/21 Python
Python交互式图形编程的实现
2019/07/25 Python
使用Pyinstaller转换.py文件为.exe可执行程序过程详解
2019/08/06 Python
Python通过VGG16模型实现图像风格转换操作详解
2020/01/16 Python
Python3 读取Word文件方式
2020/02/13 Python
Django用户登录与注册系统的实现示例
2020/06/03 Python
Volcom英国官方商店:美国殿堂级滑板、冲浪、滑雪服装品牌
2019/03/13 全球购物
大学系主任推荐信范文
2013/12/24 职场文书
奥巴马演讲稿
2014/01/08 职场文书
爷爷追悼会答谢词
2014/01/24 职场文书
不错的求职信范文
2014/07/20 职场文书
酒店周年庆活动方案
2014/08/21 职场文书
2014年教师节活动总结
2014/08/29 职场文书
涉及车辆房产分割的离婚协议书范文
2014/10/12 职场文书
2014年工人工作总结
2014/11/25 职场文书
仓库管理员岗位职责
2015/02/03 职场文书
2016大学生优秀志愿者事迹材料
2016/02/25 职场文书
高中班主任寄语
2019/06/21 职场文书