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中的元组与逻辑运算符
Oct 13 Python
Linux 下 Python 实现按任意键退出的实现方法
Sep 25 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
Mar 16 Python
python 实现tar文件压缩解压的实例详解
Aug 20 Python
分析经典Python开发工程师面试题
Apr 08 Python
TensorFlow查看输入节点和输出节点名称方式
Jan 04 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
Jun 02 Python
python语言中有算法吗
Jun 16 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
Dec 14 Python
Python操作Excel的学习笔记
Feb 18 Python
聊聊pytorch测试的时候为何要加上model.eval()
May 23 Python
Python爬虫框架之Scrapy中Spider的用法
Jun 28 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
Zend studio for eclipse中使php可以调用mysql相关函数的设置方法
2008/10/13 PHP
thinkPHP中_initialize方法实例分析
2016/12/05 PHP
JS代码格式化和语法着色V2
2006/10/14 Javascript
js 三级关联菜单效果实例
2013/08/13 Javascript
js使用for循环查询数组中是否存在某个值
2014/08/12 Javascript
JavaScript返回当前会话cookie全部键值对照的方法
2015/04/03 Javascript
实例解析jQuery插件EasyUI最常用的表单验证规则
2015/11/29 Javascript
分步解析JavaScript实现tab选项卡自动切换功能
2016/01/25 Javascript
JS实现一次性弹窗的方法【刷新后不弹出】
2016/12/26 Javascript
js浏览器滚动条卷去的高度scrolltop(实例讲解)
2017/07/07 Javascript
angular.js实现购物车功能
2017/10/23 Javascript
Vue兼容ie9的问题全面解决方案
2018/06/19 Javascript
Layer.js实现表格溢出内容省略号显示,悬停显示全部的方法
2019/09/16 Javascript
[01:17]辉夜杯战队访谈宣传片—EHOME
2015/12/25 DOTA
python统计文本字符串里单词出现频率的方法
2015/05/26 Python
python压缩文件夹内所有文件为zip文件的方法
2015/06/20 Python
Python处理PDF及生成多层PDF实例代码
2017/04/24 Python
Python探索之SocketServer详解
2017/10/28 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
2018/09/17 Python
python encrypt 实现AES加密的实例详解
2020/02/20 Python
python生成任意频率正弦波方式
2020/02/25 Python
python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例
2020/02/28 Python
关于Keras Dense层整理
2020/05/21 Python
Python pip使用超时问题解决方案
2020/08/03 Python
Django model class Meta原理解析
2020/11/14 Python
python IP地址转整数
2020/11/20 Python
如何使用amaze ui的分页样式封装一个通用的JS分页控件
2020/08/21 HTML / CSS
加州风格的游泳和沙滩装品牌:Cupshe
2019/06/10 全球购物
Feelunique德国官方网站:欧洲最大的在线美容零售商
2019/07/20 全球购物
Interrail法国:乘火车探索欧洲,最受欢迎的欧洲铁路通票
2019/08/27 全球购物
软件测试常见笔试题
2012/02/04 面试题
如何在Shell脚本中使用函数
2015/09/06 面试题
劳资人员岗位职责
2013/12/19 职场文书
2015年乡镇工作总结范文
2015/04/22 职场文书
入党积极分子党小组意见
2015/06/02 职场文书
Vue过滤器(filter)实现及应用场景详解
2021/06/15 Vue.js