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之dict()的操作方法
Sep 24 Python
用Python的Django框架完成视频处理任务的教程
Apr 02 Python
Python中利用sqrt()方法进行平方根计算的教程
May 15 Python
谈谈如何手动释放Python的内存
Dec 17 Python
python实现list由于numpy array的转换
Apr 04 Python
Python pandas DataFrame操作的实现代码
Jun 21 Python
python opencv 图像拼接的实现方法
Jun 27 Python
jupyter 中文乱码设置编码格式 避免控制台输出的解决
Apr 20 Python
python 串行执行和并行执行实例
Apr 30 Python
Python分析最近大火的网剧《隐秘的角落》
Jul 02 Python
python实现MD5进行文件去重的示例代码
Jul 09 Python
Python可视化神器pyecharts绘制地理图表
Jul 07 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
Http 1.1 Etag 与 Last-Modified提高php效率
2008/01/10 PHP
php对gzip文件或者字符串解压实例参考
2008/07/25 PHP
一个PHP的String类代码
2010/04/20 PHP
php中filter函数验证、过滤用户输入的数据
2014/01/13 PHP
PHP正则表达式 /i, /is, /s, /isU等介绍
2014/10/23 PHP
[JS源码]超长文章自动分页(客户端版)
2007/01/09 Javascript
JavaScript全局函数使用简单说明
2011/03/11 Javascript
javascript中日期转换成时间戳的小例子
2013/03/21 Javascript
JS上传前预览图片实例
2013/03/25 Javascript
jQuery实现平滑滚动到指定锚点的方法
2015/03/20 Javascript
JavaScript中toString()方法的使用详解
2015/06/05 Javascript
微信小程序 实战程序简易新闻的制作
2017/01/09 Javascript
微信小程序 textarea 组件详解及简单实例
2017/01/10 Javascript
JS操作input标签属性checkbox全选的实现代码
2017/03/02 Javascript
Angularjs自定义指令Directive详解
2017/05/27 Javascript
node thread.sleep实现示例
2018/06/20 Javascript
Element-Ui组件 NavMenu 导航菜单的具体使用
2019/10/24 Javascript
[57:16]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第二场
2014/05/26 DOTA
[04:10]DOTA2英雄梦之声_第11期_圣堂刺客
2014/06/21 DOTA
[01:25]2015国际邀请赛最佳短片奖——斧王《拆塔英雄:天赋异禀》
2015/09/22 DOTA
[01:02:53]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第二局
2016/03/06 DOTA
Python中字符编码简介、方法及使用建议
2015/01/08 Python
python中__call__内置函数用法实例
2015/06/04 Python
Python使用Pandas读写Excel实例解析
2019/11/19 Python
python飞机大战pygame碰撞检测实现方法分析
2019/12/17 Python
Docker部署Python爬虫项目的方法步骤
2020/01/19 Python
Python3 ffmpeg视频转换工具使用方法解析
2020/08/10 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
2020/09/04 Python
python中pow函数用法及功能说明
2020/12/04 Python
苏宁红孩子母婴商城:redbaby
2017/02/12 全球购物
《火烧云》教学反思
2014/04/12 职场文书
纠纷协议书
2014/04/16 职场文书
大队委竞选演讲稿
2014/04/28 职场文书
小学竞选班长演讲稿
2014/09/09 职场文书
村主任个人对照检查材料
2014/10/01 职场文书
2015应届毕业生自荐信范文
2015/03/05 职场文书