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实现简单的单变量线性回归方法
Nov 08 Python
python获取本机所有IP地址的方法
Dec 26 Python
用Python将结果保存为xlsx的方法
Jan 28 Python
Python安装与基本数据类型教程详解
May 29 Python
python增加图像对比度的方法
Jul 12 Python
快速解决vue.js 模板和jinja 模板冲突的问题
Jul 26 Python
django基于restframework的CBV封装详解
Aug 08 Python
简单了解python filter、map、reduce的区别
Jan 14 Python
python logging模块的使用详解
Oct 23 Python
Python 使用office365邮箱的示例
Oct 29 Python
python 利用matplotlib在3D空间中绘制平面的案例
Feb 06 Python
Python使用pandas导入xlsx格式的excel文件内容操作代码
Dec 24 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
优化使用mysql存储session的php代码
2008/01/10 PHP
php foreach循环中使用引用的问题
2013/11/06 PHP
Thinkphp中的curd应用实用要点
2015/01/04 PHP
Laravel框架实现定时Task Scheduling例子
2019/10/22 PHP
PHP执行系统命令函数实例讲解
2021/03/03 PHP
fromCharCode和charCodeAt 方法
2006/12/27 Javascript
javascript中将Object转换为String函数代码 (json str)
2012/04/29 Javascript
JS的document.all函数使用示例
2013/12/30 Javascript
javascript中call,apply,bind的用法对比分析
2015/02/12 Javascript
jQuery仿淘宝网产品品牌隐藏与显示效果
2015/09/01 Javascript
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
2016/12/14 Javascript
nodejs和php实现图片访问实时处理
2017/01/05 NodeJs
Vue2 轮播图slide组件实例代码
2018/05/31 Javascript
使用Vue生成动态表单
2019/11/26 Javascript
javascript设计模式 ? 外观模式原理与用法实例分析
2020/04/15 Javascript
Vue 3.0 全家桶抢先体验
2020/04/28 Javascript
[34:39]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第二局
2016/03/05 DOTA
[41:52]2018DOTA2亚洲邀请赛3月29日 小组赛A组 TNC VS OpTic
2018/03/30 DOTA
python base64 decode incorrect padding错误解决方法
2015/01/08 Python
python从入门到精通(DAY 1)
2015/12/20 Python
python tensorflow基于cnn实现手写数字识别
2018/01/01 Python
浅谈pandas筛选出表中满足另一个表所有条件的数据方法
2019/02/08 Python
解决python web项目意外关闭,但占用端口的问题
2019/12/17 Python
利用PyQt5+Matplotlib 绘制静态/动态图的实现代码
2020/07/13 Python
CSS3 rgb and rgba(透明色)的使用详解
2020/09/25 HTML / CSS
Linux如何压缩可执行文件
2014/03/27 面试题
AURALog面试题软件测试方面
2013/10/22 面试题
EntityManager都有哪些方法
2013/11/01 面试题
一年级数学教学反思
2014/02/01 职场文书
水毁工程实施方案
2014/04/01 职场文书
重大事项社会稳定风险评估方案
2014/06/15 职场文书
三严三实对照检查材料范文
2014/09/23 职场文书
幼儿园语言教学反思
2016/02/23 职场文书
css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效
2021/04/29 HTML / CSS
吉利入股戴姆勒后smart“长大了”
2022/04/21 数码科技
python中pd.cut()与pd.qcut()的对比及示例
2022/06/16 Python