python简单实现插入排序实例代码


Posted in Python onDecember 16, 2020

Python中会遇到很多关于排序的问题,今天小编就带给大家实现插入排序的方法。在Python中插入排序的基本原理类似于摸牌,将摸起来的牌插入到合适位置。具体实现请看本文。

基本原理

类似于摸牌,将摸起来的牌插入到合适位置。

代码:

# -*- 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)

易忘点和易错点

a. 不要忘记列表长度为1的情况。

b. 注意break的使用以及位置,是放在if语句下面,如果放到第二层for循环下,就会一直循环。

插入排序算法图

python简单实现插入排序实例代码

到此这篇关于python简单实现插入排序实例代码的文章就介绍到这了,更多相关python实现插入排序内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python使用Socket(Https)Post登录百度的实现代码
May 18 Python
python备份文件以及mysql数据库的脚本代码
Jun 10 Python
python模拟登陆Tom邮箱示例分享
Jan 13 Python
基于wxpython开发的简单gui计算器实例
May 30 Python
Python 3中的yield from语法详解
Jan 18 Python
python实现支付宝当面付(扫码支付)功能
May 30 Python
通过python的matplotlib包将Tensorflow数据进行可视化的方法
Jan 09 Python
python for和else语句趣谈
Jul 02 Python
如何理解Python中包的引入
May 29 Python
Python3爬虫中Ajax的用法
Jul 10 Python
django中cookiecutter的使用教程
Dec 03 Python
Python中time标准库的使用教程
Apr 13 Python
python中函数返回多个结果的实例方法
Dec 16 #Python
python的setattr函数实例用法
Dec 16 #Python
10个python爬虫入门基础代码实例 + 1个简单的python爬虫完整实例
Dec 16 #Python
pip 20.3 新版本发布!即将抛弃 Python 2.x(推荐)
Dec 16 #Python
python unichr函数知识点总结
Dec 16 #Python
python 模拟登录B站的示例代码
Dec 15 #Python
python 模拟登陆163邮箱
Dec 15 #Python
You might like
PHP foreach循环使用详解与实例代码
2010/05/08 PHP
PHP 写文本日志实现代码
2010/05/18 PHP
使用PHP实现密保卡功能实现代码&amp;lt;打包下载直接运行&amp;gt;
2011/10/09 PHP
php支付宝手机网页支付类实例
2015/03/04 PHP
使用GD库生成带阴影文字的图片
2015/03/27 PHP
PHP中余数、取余的妙用
2015/06/29 PHP
深入讲解PHP的Yii框架中的属性(Property)
2016/03/18 PHP
web页面数据展示新想法(json)
2010/06/08 Javascript
jQuery中delegate和on的用法与区别详细解析
2014/01/26 Javascript
node.js中的http.get方法使用说明
2014/12/14 Javascript
JavaScript阻止事件冒泡示例分享
2014/12/28 Javascript
jQuery制作仿Mac Lion OS滚动条效果
2015/02/10 Javascript
JavaScript中的条件判断语句使用详解
2015/06/03 Javascript
Bootstrap fileinput 上传新文件移除时触发服务器同步删除的配置
2018/10/08 Javascript
vue中eslintrc.js配置最详细介绍
2018/12/21 Javascript
优化Vue项目编译文件大小的方法步骤
2019/05/27 Javascript
如何在JavaScript中谨慎使用代码注释
2019/06/21 Javascript
angular共享依赖的解决方案分享
2020/10/15 Javascript
Python中实现的RC4算法
2015/02/14 Python
Pipenv一键搭建python虚拟环境的方法
2018/05/22 Python
Python3多线程基础知识点
2019/02/19 Python
Python任意字符串转16, 32, 64进制的方法
2019/06/12 Python
pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换
2020/01/13 Python
python实现替换word中的关键文字(使用通配符)
2020/02/13 Python
Python爬虫抓取指定网页图片代码实例
2020/07/24 Python
零基础学python应该从哪里入手
2020/08/11 Python
简单的命令查看安装的python版本号
2020/08/28 Python
让IE下支持Html5的placeholder属性的插件
2014/09/02 HTML / CSS
澳大利亚著名的纺织品品牌:Canningvale
2020/05/05 全球购物
自我鉴定书面格式
2014/01/13 职场文书
工会主席事迹材料
2014/06/03 职场文书
中学生的1000字检讨书
2014/10/11 职场文书
2014年镇党建工作汇报材料
2014/11/02 职场文书
自查自纠整改报告
2014/11/06 职场文书
污染环境建议书
2015/09/14 职场文书
mysql下的max_allowed_packet参数设置详解
2022/02/12 MySQL