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实现DNS正向查询、反向查询的例子
Apr 25 Python
用Python写冒泡排序代码
Apr 12 Python
关于numpy中np.nonzero()函数用法的详解
Feb 07 Python
关于python的list相关知识(推荐)
Aug 30 Python
对python .txt文件读取及数据处理方法总结
Apr 23 Python
Python中的字符串切片(截取字符串)的详解
May 15 Python
Python跳出多重循环的方法示例
Jul 03 Python
python实现单链表的方法示例
Sep 03 Python
Python3 hashlib密码散列算法原理详解
Mar 30 Python
Python 解析库json及jsonpath pickle的实现
Aug 17 Python
Python获取android设备cpu和内存占用情况
Nov 15 Python
Python数据可视化之Seaborn的安装及使用
Apr 19 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
《星际争霸2》终章已出 RTS时代宣告终结
2017/02/07 星际争霸
PHP4和PHP5性能测试和对比 测试代码与环境
2007/08/17 PHP
什么情况下可以不写PHP的闭合标签“?&gt;”
2014/08/28 PHP
laravel安装和配置教程
2014/10/29 PHP
PHP请求远程地址设置超时时间的解决方法
2016/10/29 PHP
Javascript的匿名函数小结
2009/12/31 Javascript
js 数组的for循环到底应该怎么写?
2010/05/31 Javascript
商城常用滚动的焦点图效果代码简单实用
2013/03/28 Javascript
javascript中的取反再取反~~没有意义
2014/04/06 Javascript
使用Node.js实现一个简单的FastCGI服务器实例
2014/06/09 Javascript
我的NodeJs学习小结(一)
2014/07/06 NodeJs
JS实现具备延时功能的滑动门菜单效果
2015/09/17 Javascript
JS+CSS实现的日本门户网站经典选项卡导航效果
2015/09/27 Javascript
Bootstrap 粘页脚效果
2016/03/28 Javascript
Angular学习笔记之angular的$filter服务浅析
2016/11/12 Javascript
AngularJS的依赖注入实例分析(使用module和injector)
2017/01/19 Javascript
jQuery表格(Table)基本操作实例分析
2017/03/10 Javascript
js实现鼠标拖拽多选功能示例
2017/08/01 Javascript
AngularJS动态添加数据并删除的实例
2018/02/27 Javascript
vue axios 在页面切换时中断请求方法 ajax
2018/03/05 Javascript
在Bootstrap开发框架中使用dataTable直接录入表格行数据的方法
2018/10/25 Javascript
关于layui 实现点击按钮添加一行(方法渲染创建的table)
2019/09/29 Javascript
wxPython窗口的继承机制实例分析
2014/09/28 Python
Python发送以整个文件夹的内容为附件的邮件的教程
2015/05/06 Python
python清除指定目录内所有文件中script的方法
2015/06/30 Python
Python实现TCP协议下的端口映射功能的脚本程序示例
2016/06/14 Python
django使用html模板减少代码代码解析
2017/12/12 Python
对python中的xlsxwriter库简单分析
2018/05/04 Python
Python全排列操作实例分析
2018/07/24 Python
python数据结构之线性表的顺序存储结构
2018/09/28 Python
python Selenium实现付费音乐批量下载的实现方法
2019/01/24 Python
Python后台开发Django会话控制的实现
2019/04/15 Python
python 实现GUI(图形用户界面)编程详解
2019/07/17 Python
python3中eval函数用法使用简介
2019/08/02 Python
strstr()的简单实现
2013/09/26 面试题
聚美优品恶搞广告词
2014/03/14 职场文书