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和C语言混合编程实例
Jun 04 Python
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
Sep 18 Python
使用Python编写Prometheus监控的方法
Oct 15 Python
Python实现多属性排序的方法
Dec 05 Python
python实现支付宝转账接口
May 07 Python
关于Python作用域自学总结
Jun 10 Python
python序列化与数据持久化实例详解
Dec 20 Python
python数据预处理方式 :数据降维
Feb 24 Python
Python virtualenv虚拟环境实现过程解析
Apr 18 Python
Django 用户登陆访问限制实例 @login_required
May 13 Python
Django 构建模板form表单的两种方法
Jun 14 Python
python爬虫请求头设置代码
Jul 28 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网上调查系统
2006/10/09 PHP
php header Content-Type类型小结
2011/07/03 PHP
PHP获取数组长度或某个值出现次数的方法
2015/02/11 PHP
PHP实现阳历到农历转换的类实例
2015/03/07 PHP
Yii2中使用join、joinwith多表关联查询
2016/06/30 PHP
jquery实现动态菜单的实例代码
2013/11/28 Javascript
JavaScript判断浏览器类型的方法
2015/02/10 Javascript
jquery控制表单输入框显示默认值的方法
2015/05/22 Javascript
JavaScript实现的背景自动变色代码
2015/10/17 Javascript
javascript基础知识
2016/06/07 Javascript
JavaScript中关于iframe滚动条的去除和保留
2016/11/17 Javascript
BootstrapTable请求数据时设置超时(timeout)的方法
2017/01/22 Javascript
基于JavaScript实现淘宝商品广告效果
2017/08/10 Javascript
Vue自定义指令实现checkbox全选功能的方法
2018/02/28 Javascript
微信小程序倒计时功能实例代码
2018/07/17 Javascript
说说如何使用Vuex进行状态管理(小结)
2019/04/14 Javascript
[00:52]DOTA2第二届亚洲邀请赛预选赛宣传片
2017/01/13 DOTA
Python实现Tab自动补全和历史命令管理的方法
2015/03/12 Python
python版学生管理系统
2018/01/10 Python
在Mac上删除自己安装的Python方法
2018/10/29 Python
python分数表示方式和写法
2019/06/26 Python
python提取log文件内容并画出图表
2019/07/08 Python
python matplotlib包图像配色方案分享
2020/03/14 Python
pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)
2020/06/24 Python
C语言笔试题回忆
2015/04/02 面试题
土木工程专业自荐信
2013/10/04 职场文书
个人收入证明范本
2014/01/12 职场文书
物价局领导班子四风问题整改措施
2014/10/26 职场文书
群众路线教育实践活动学习心得体会
2014/10/30 职场文书
2015国际残疾人日活动总结
2015/03/24 职场文书
银行保安拾金不昧表扬稿
2015/05/05 职场文书
学校德育工作总结2015
2015/05/11 职场文书
2015年行政执法工作总结
2015/05/23 职场文书
区域销售大会开幕词
2016/03/04 职场文书
2016年小学圣诞节活动总结
2016/03/31 职场文书
怎样写工作总结啊!
2019/06/18 职场文书