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实现从一组颜色中找出与给定颜色最接近颜色的方法
Mar 19 Python
python使用pil生成图片验证码的方法
May 08 Python
一些常用的Python爬虫技巧汇总
Sep 28 Python
为什么str(float)在Python 3中比Python 2返回更多的数字
Oct 16 Python
Python使用POP3和SMTP协议收发邮件的示例代码
Apr 16 Python
Django 权限认证(根据不同的用户,设置不同的显示和访问权限)
Jul 24 Python
实例详解Python装饰器与闭包
Jul 29 Python
python中property属性的介绍及其应用详解
Aug 29 Python
TensorFlow加载模型时出错的解决方式
Feb 06 Python
IDLE下Python文件编辑和运行操作
Apr 25 Python
Python如何在循环内使用list.remove()
Jun 01 Python
浅谈Python数学建模之整数规划
Jun 23 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
解析使用substr截取UTF-8中文字符串出现乱码的问题
2013/06/20 PHP
使用PHP json_decode可能遇到的坑与解决方法
2017/08/03 PHP
PHP+Ajax实现的博客文章添加类别功能示例
2018/03/29 PHP
php中如何执行linux命令详解
2018/11/06 PHP
js ondocumentready onmouseover onclick onmouseout 样式
2010/07/22 Javascript
JavaScript的document对象和window对象详解
2010/12/30 Javascript
ajax处理php返回json数据的实例代码
2013/01/24 Javascript
Flex通过JS获取客户端IP和计算机名的实例代码
2013/11/21 Javascript
javascript图片相似度算法实现 js实现直方图和向量算法
2014/01/14 Javascript
使用text方法获取Html元素文本信息示例
2014/09/01 Javascript
使用js画图之正弦曲线
2015/01/12 Javascript
Sort()函数的多种用法
2016/03/20 Javascript
javascript中this指向详解
2016/04/23 Javascript
原生js实现自由拖拽弹窗代码demo
2016/06/29 Javascript
最佳的JavaScript错误处理实践
2016/07/16 Javascript
jQuery插件autocomplete使用详解
2017/02/04 Javascript
深入理解vue中的$set
2017/06/01 Javascript
Vue中定义全局变量与常量的各种方式详解
2017/08/23 Javascript
webpack4 处理SCSS的方法示例
2018/09/03 Javascript
layui switch 开关监听 弹出确定状态转换的例子
2019/09/21 Javascript
layui 解决form表单点击无反应的问题
2019/10/25 Javascript
webpack proxy 使用(代理的使用)
2020/01/10 Javascript
利用Python将时间或时间间隔转为ISO 8601格式方法示例
2017/09/05 Python
Python生成8位随机字符串的方法分析
2017/12/05 Python
Python数据类型之List列表实例详解
2019/05/08 Python
一款纯css3实现简单的checkbox复选框和radio单选框
2014/11/05 HTML / CSS
为有想象力的人提供的生活方式商店:Firebox
2018/06/04 全球购物
美国社交购物市场:MassGenie
2019/02/18 全球购物
《青山处处埋忠骨》教学反思
2014/04/22 职场文书
高中生物教学反思
2016/02/20 职场文书
2019关于实习生工作安排及待遇的管理方案!
2019/07/16 职场文书
Nginx设置日志打印post请求参数的方法
2021/03/31 Servers
pytorch中[..., 0]的用法说明
2021/05/20 Python
django 认证类配置实现
2021/11/11 Python
python字符串拼接.join()和拆分.split()详解
2021/11/23 Python
无线电知识基础入门篇
2022/02/18 无线电