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 相关文章推荐
详解Python2.x中对Unicode编码的使用
Apr 03 Python
使用Python简单的实现树莓派的WEB控制
Feb 18 Python
python多进程和多线程究竟谁更快(详解)
May 29 Python
python制作小说爬虫实录
Aug 14 Python
Python实现端口检测的方法
Jul 24 Python
elasticsearch python 查询的两种方法
Aug 04 Python
Windows平台Python编程必会模块之pywin32介绍
Oct 01 Python
Django2 连接MySQL及model测试实例分析
Dec 10 Python
Python cookie的保存与读取、SSL讲解
Feb 17 Python
Java Spring项目国际化(i18n)详细方法与实例
Mar 20 Python
Python短信轰炸的代码
Mar 25 Python
Python列表元素删除和remove()方法详解
Jan 04 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优于Node.js的五大理由分享
2012/09/15 PHP
PHP中$this和$that指针使用实例
2015/01/06 PHP
php运行时动态创建函数的方法
2015/03/16 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
Tab页界面 用jQuery及Ajax技术实现(php后台)
2011/10/12 Javascript
Javascript 颜色渐变效果的实现代码
2013/10/01 Javascript
javascript实现多栏闭合展开式广告位菜单效果实例
2015/08/05 Javascript
又一款js时钟!transform实现时钟效果
2016/08/15 Javascript
JQueryEasyUI之DataGrid数据显示
2016/11/23 Javascript
Vue-cli创建项目从单页面到多页面的方法
2017/09/20 Javascript
基于vue-element组件实现音乐播放器功能
2018/05/06 Javascript
vue完成项目后,打包成静态文件的方法
2018/09/03 Javascript
Node使用Selenium进行前端自动化操作的代码实现
2019/10/10 Javascript
Jquery Fade用法详解
2020/11/06 jQuery
Python实现partial改变方法默认参数
2014/08/18 Python
Python使用CMD模块更优雅的运行脚本
2015/05/11 Python
python实现带声音的摩斯码翻译实现方法
2015/05/20 Python
举例讲解如何在Python编程中进行迭代和遍历
2016/01/19 Python
python opencv 图像尺寸变换方法
2018/04/02 Python
Python判断以什么结尾以什么开头的实例
2018/10/27 Python
5分钟让你掌握css3阴影、倒影、渐变小技巧(小编推荐)
2016/08/15 HTML / CSS
html5 input属性使用示例
2013/06/28 HTML / CSS
世界上最大的家庭自动化公司:Smarthome
2017/12/20 全球购物
Hunter Boots美国官方网站:赫特威灵顿雨靴
2018/06/16 全球购物
英国男女豪华配饰和礼品网站:Black.co.uk
2020/02/28 全球购物
团员学习总结的自我评价范文
2013/10/14 职场文书
大学生最新职业生涯规划书范文
2014/01/12 职场文书
员工薪酬福利制度
2014/01/17 职场文书
学校卫生检查制度
2014/02/03 职场文书
大学生两会精神学习心得体会
2014/03/10 职场文书
学校党委副书记个人对照检查材料思想汇报
2014/09/28 职场文书
庆祝三八妇女节标语
2014/10/09 职场文书
2015银行年终工作总结范文
2015/05/26 职场文书
高中班主任培训心得体会
2016/01/07 职场文书
小学三年级作文之写景
2019/11/05 职场文书
什么是css原子化,有什么用?
2022/04/24 HTML / CSS