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中实现常量(Const)功能
Jan 28 Python
在Django的模型中添加自定义方法的示例
Jul 21 Python
Python 内置函数complex详解
Oct 23 Python
python 中random模块的常用方法总结
Jul 08 Python
Python3实现发送QQ邮件功能(html)
Dec 15 Python
详解python使用递归、尾递归、循环三种方式实现斐波那契数列
Jan 16 Python
使用python和pygame绘制繁花曲线的方法
Feb 24 Python
Pandas读写CSV文件的方法示例
Mar 27 Python
微信公众号token验证失败解决方案
Jul 22 Python
浅析使用Python搭建http服务器
Oct 27 Python
Python 中 -m 的典型用法、原理解析与发展演变
Nov 11 Python
基于python实现计算且附带进度条代码实例
Mar 31 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程序
2006/10/09 PHP
用js实现预览待上传的本地图片
2007/03/15 Javascript
jquery 图片上传按比例预览插件集合
2011/05/28 Javascript
Extjs4 Treegrid 使用心得分享(经验篇)
2013/07/01 Javascript
js出生日期 年月日级联菜单示例代码
2014/01/10 Javascript
Javascript 按位取反运算符 (~)
2014/02/04 Javascript
jQuery中offsetParent()方法用法实例
2015/01/19 Javascript
JavaScript中实现map功能代码分享
2015/06/11 Javascript
表单验证正则表达式实例代码详解
2015/11/09 Javascript
jQuery实现大图轮播
2017/02/13 Javascript
微信小程序 下拉菜单简单实例
2017/04/13 Javascript
js图片上传的封装代码
2017/08/01 Javascript
React BootStrap用户体验框架快速上手
2018/03/06 Javascript
Bootstrap实现可折叠分组侧边导航菜单
2018/03/07 Javascript
nodejs+mongodb aggregate级联查询操作示例
2018/03/17 NodeJs
vue中mint-ui的使用方法
2018/04/04 Javascript
在element-ui的select下拉框加上滚动加载
2019/04/18 Javascript
JS实现选项卡效果的代码实例
2019/05/20 Javascript
vue2.x 对象劫持的原理实现
2020/04/19 Javascript
Python类的定义、继承及类对象使用方法简明教程
2015/05/08 Python
Python对多属性的重复数据去重实例
2018/04/18 Python
python用BeautifulSoup库简单爬虫实例分析
2018/07/30 Python
使用Python向C语言的链接库传递数组、结构体、指针类型的数据
2019/01/29 Python
python将excel转换为csv的代码方法总结
2019/07/03 Python
Python3+Appium安装使用教程
2019/07/05 Python
win10下安装Anaconda的教程(python环境+jupyter_notebook)
2019/10/23 Python
django ajax发送post请求的两种方法
2020/01/05 Python
python读取yaml文件后修改写入本地实例
2020/04/27 Python
Tensorflow加载Vgg预训练模型操作
2020/05/26 Python
如何查找和删除数据库中的重复数据
2014/11/05 面试题
精选干货:Java精选笔试题附答案
2014/01/18 面试题
团拜会策划方案
2014/06/07 职场文书
公安交警中队队长个人对照检查材料思想汇报
2014/10/05 职场文书
2015年小学师德师风建设工作总结
2015/10/23 职场文书
大学生奖学金获奖感言(范文)
2019/08/15 职场文书
详解PHP Swoole与TCP三次握手
2021/05/27 PHP