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类型强制转换long to int的代码
Feb 10 Python
Python中的对象,方法,类,实例,函数用法分析
Jan 15 Python
Python实现删除文件中含“指定内容”的行示例
Jun 09 Python
浅析Python中的赋值和深浅拷贝
Aug 15 Python
Python面向对象类继承和组合实例分析
May 28 Python
python爬取足球直播吧五大联赛积分榜
Jun 13 Python
python实现网站微信登录的示例代码
Sep 18 Python
python GUI库图形界面开发之PyQt5布局控件QGridLayout详细使用方法与实例
Mar 06 Python
Python greenlet和gevent使用代码示例解析
Apr 01 Python
利用python生成照片墙的示例代码
Apr 09 Python
Django中和时区相关的安全问题详解
Oct 12 Python
python3 sqlite3限制条件查询的操作
Apr 07 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
全国FM电台频率大全 - 29 青海省
2020/03/11 无线电
PHP 函数执行效率的小比较
2010/10/17 PHP
php通过排列组合实现1到9数字相加都等于20的方法
2015/08/03 PHP
PHP基于DOMDocument解析和生成xml的方法分析
2017/07/17 PHP
PHP使用栈解决约瑟夫环问题算法示例
2017/08/27 PHP
通过event对象的fromElement属性解决热区设置主实体的一个bug
2008/12/22 Javascript
jQuery 1.4 15个你应该知道的新特性(译)
2010/01/24 Javascript
简约JS日历控件 实例代码
2013/07/12 Javascript
JS动态改变表格边框宽度的方法
2015/03/31 Javascript
JavaScript Canvas绘制圆形时钟效果
2020/08/20 Javascript
JavaScript实现时间表动态效果
2017/07/15 Javascript
详解Node.js利用node-git-server快速搭建git服务器
2017/09/27 Javascript
thinkjs 文件上传功能实例代码
2017/11/08 Javascript
bootstrap select2插件用ajax来获取和显示数据的实例
2018/08/09 Javascript
详解django模板与vue.js冲突问题
2019/07/07 Javascript
JS数组方法reduce的用法实例分析
2020/03/03 Javascript
python实现从web抓取文档的方法
2014/09/26 Python
Django的URLconf中使用缺省视图参数的方法
2015/07/18 Python
如何用Python合并lmdb文件
2018/07/02 Python
Python使用itchat模块实现群聊转发,自动回复功能示例
2019/08/26 Python
Python实现猜年龄游戏代码实例
2020/03/25 Python
使用 django orm 写 exists 条件过滤实例
2020/05/20 Python
python爬虫中抓取指数的实例讲解
2020/12/01 Python
CSS3 实现穿梭星空动画
2020/11/13 HTML / CSS
HTML5 Canvas实现360度全景图的示例代码
2018/01/29 HTML / CSS
英国领先的在线旅游和休闲零售商:lastminute.com
2019/01/23 全球购物
计算机专业学生的自我评价
2013/12/15 职场文书
护理职业生涯规划书
2014/01/24 职场文书
认购协议书范本
2014/04/22 职场文书
质量承诺书格式
2014/05/20 职场文书
世界文化遗产导游词
2015/02/13 职场文书
辛德勒的名单观后感
2015/06/03 职场文书
2016大学军训心得体会
2016/01/11 职场文书
将MySQL的表数据全量导入clichhouse库中
2022/03/21 MySQL
【DOTA2】半决赛强强对话~ PSG LGD vs EHOME - DPC 2022 CN REGIONAL FINALS WINTER
2022/04/02 DOTA
springboot实现string转json json里面带数组
2022/06/16 Java/Android