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操作MySQL数据库的方法分享
May 29 Python
Python 抓取动态网页内容方案详解
Dec 25 Python
python字典get()方法用法分析
Apr 17 Python
Python字符串特性及常用字符串方法的简单笔记
Jan 04 Python
python实现ID3决策树算法
Aug 29 Python
Python函数定义及传参方式详解(4种)
Mar 18 Python
Django多数据库的实现过程详解
Aug 01 Python
Python3 中作为一等对象的函数解析
Dec 11 Python
基于Tensorflow批量数据的输入实现方式
Feb 05 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
Feb 21 Python
新手学python应该下哪个版本
Jun 11 Python
python为什么会环境变量设置不成功
Jun 23 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 构造函数construct的前下划线是双的_
2009/12/08 PHP
解析centos中Apache、php、mysql 默认安装路径
2013/06/25 PHP
PHP模拟QQ登录的方法
2015/07/29 PHP
PHP中isset、empty的用法与区别示例详解
2020/11/05 PHP
一些常用的Javascript函数
2006/12/22 Javascript
Extjs 几个方法的讨论
2010/01/28 Javascript
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
2013/05/07 Javascript
js添加table的行和列 具体实现方法
2013/07/22 Javascript
jQuery自动切换/点击切换选项卡效果的小例子
2013/08/12 Javascript
JS获取当前网址、主机地址项目根路径
2013/11/19 Javascript
选择复选框按钮置灰否则按钮可用
2014/05/22 Javascript
jQuery设置和移除文本框默认值的方法
2015/03/09 Javascript
理解 JavaScript Scoping &amp; Hoisting(二)
2015/11/18 Javascript
js修改onclick动作的四种方法(推荐)
2016/08/18 Javascript
JavaScript中原型链存在的问题解析
2016/09/25 Javascript
微信小程序实战之运维小项目
2017/01/17 Javascript
jquery实现全选、全不选以及单选功能
2017/03/23 jQuery
nodejs mysql 实现分页的方法
2017/06/06 NodeJs
JavaScript实现图片伪异步上传过程解析
2020/04/10 Javascript
Python使用Tkinter实现机器人走迷宫
2018/01/22 Python
Django开发中复选框用法示例
2018/03/20 Python
python skimage 连通性区域检测方法
2018/06/21 Python
NLTK 3.2.4 环境搭建教程
2018/09/19 Python
浅谈Python小波分析库Pywavelets的一点使用心得
2019/07/09 Python
对django2.0 关联表的必填on_delete参数的含义解析
2019/08/09 Python
python实现代码统计器
2019/09/19 Python
如何用PyPy让你的Python代码运行得更快
2020/12/02 Python
StubHub墨西哥:购买和出售您的门票
2016/09/17 全球购物
小女主人连衣裙:Little Mistress
2017/07/10 全球购物
小学二年级评语
2014/04/21 职场文书
《永远的白衣战士》教学反思
2014/04/25 职场文书
2014个人四风对照检查材料思想汇报
2014/09/18 职场文书
干部考察材料范文
2014/12/24 职场文书
小学运动会开幕词
2015/01/28 职场文书
python 中[0]*2与0*2的区别说明
2021/05/10 Python
Python函数式编程中itertools模块详解
2021/09/15 Python