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 02 Python
python基础教程之元组操作使用详解
Mar 25 Python
Python BeautifulSoup中文乱码问题的2种解决方法
Apr 22 Python
python正则表达式中的括号匹配问题
Dec 14 Python
python中pass语句用法实例分析
Apr 30 Python
Python 类与元类的深度挖掘 I【经验】
May 06 Python
Empty test suite.(PyCharm程序运行错误的解决方法)
Nov 30 Python
Python 获取div标签中的文字实例
Dec 20 Python
python使用threading.Condition交替打印两个字符
May 07 Python
关于Python作用域自学总结
Jun 10 Python
python tornado使用流生成图片的例子
Nov 18 Python
Django中F函数的使用示例代码详解
Jul 06 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
法国:浪漫之都的咖啡文化
2021/03/03 咖啡文化
Add a Formatted Table to a Word Document
2007/06/15 Javascript
超强的IE背景图片闪烁(抖动)的解决办法
2007/09/09 Javascript
javascript prototype 原型链
2009/03/12 Javascript
JQuery的ready函数与JS的onload的区别详解
2013/11/21 Javascript
使用JavaScript获取地址栏参数的方法
2014/12/19 Javascript
jQuery实现DIV层收缩展开的方法
2015/02/27 Javascript
jQuery实现的仿select功能代码
2015/08/19 Javascript
js实现仿MSN带关闭功能的右下角弹窗代码
2015/09/04 Javascript
javascript实现表单验证
2016/01/29 Javascript
利用Node.js+Koa框架实现前后端交互的方法
2017/02/27 Javascript
JavaScript页面倒计时功能完整示例
2019/05/15 Javascript
JavaScript判断浏览器运行环境的详细方法
2019/06/30 Javascript
微信小程序 生成携带参数的二维码
2019/10/23 Javascript
[50:22]完美盛典-2018年度红毯走秀
2018/12/16 DOTA
Python 获取新浪微博的最新公共微博实例分享
2014/07/03 Python
Python制作刷网页流量工具
2017/04/23 Python
python将unicode转为str的方法
2017/06/21 Python
怎么使用pipenv管理你的python项目
2018/03/12 Python
python用plt画图时,cmp设置方法
2018/12/13 Python
python实现大学人员管理系统
2019/10/25 Python
Python过滤序列元素的方法
2020/07/31 Python
PyQt5多线程防卡死和多窗口用法的实现
2020/09/15 Python
Python的3种运行方式:命令行窗口、Python解释器、IDLE的实现
2020/10/10 Python
Python与C/C++的相互调用案例
2021/03/04 Python
CSS3 Columns分列式布局方法简介
2014/05/03 HTML / CSS
意大利消费电子产品购物网站:SLG Store
2019/12/26 全球购物
Dr. Martens马汀博士法国官网:马丁靴鼻祖
2020/01/15 全球购物
请说出你所知道的线程同步的方法
2013/04/19 面试题
电子信息专业自荐书
2014/02/04 职场文书
财务学生的职业生涯发展
2014/02/11 职场文书
大学生全国两会报告感想
2014/03/17 职场文书
2015年考研复习计划
2015/01/19 职场文书
杭州西湖英语导游词
2015/02/03 职场文书
HTTP中的Content-type详解
2022/01/18 HTML / CSS
一文简单了解MySQL前缀索引
2022/04/03 MySQL