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 logging类库使用例子
Nov 22 Python
Python对list列表结构中的值进行去重的方法总结
May 07 Python
使用Python的Tornado框架实现一个Web端图书展示页面
Jul 11 Python
python里使用正则的findall函数的实例详解
Oct 19 Python
python+mongodb数据抓取详细介绍
Oct 25 Python
python实现QQ邮箱/163邮箱的邮件发送
Jan 22 Python
python实现大文件分割与合并
Jul 22 Python
Django处理Ajax发送的Get请求代码详解
Jul 29 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
Sep 25 Python
Python-numpy实现灰度图像的分块和合并方式
Jan 09 Python
Pycharm 如何一键加引号的方法步骤
Feb 05 Python
python脚本框架webpy的url映射详解
Nov 20 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
我的论坛源代码(二)
2006/10/09 PHP
php上传apk后自动提取apk包信息的使用(示例下载)
2013/04/26 PHP
php生成shtml类用法实例
2014/12/09 PHP
thinkPHP引入类的方法详解
2016/12/08 PHP
PHP 扩展Memcached命令用法实例总结
2020/06/04 PHP
如何实现浏览器上的右键菜单
2006/07/10 Javascript
xss文件页面内容读取(解决)
2010/11/28 Javascript
jquery trim() 功能源代码
2011/02/14 Javascript
js自动生成对象的属性示例代码
2013/10/28 Javascript
倒记时60刷新网页的js代码
2014/02/18 Javascript
jQuery中removeAttr()方法用法实例
2015/01/05 Javascript
JavaScript闭包详解
2015/02/02 Javascript
JavaScript常用标签和方法总结
2015/09/01 Javascript
JavaScript基于自定义函数判断变量类型的实现方法
2016/11/23 Javascript
jQuery实现html table行Tr的复制、删除、计算功能
2017/07/10 jQuery
React Native之TextInput组件解析示例
2017/08/22 Javascript
浅析JS抽象工厂模式
2017/12/14 Javascript
用ES6写全屏滚动插件的示例代码
2018/05/02 Javascript
Vue实现表格批量审核功能实例代码
2019/05/28 Javascript
elementui之el-tebs浏览器卡死的问题和使用报错未注册问题
2019/07/06 Javascript
24个解决实际问题的ES6代码片段(小结)
2020/02/02 Javascript
原生JS实现记忆翻牌游戏
2020/07/31 Javascript
教你安装python Django(图文)
2013/11/04 Python
python选择排序算法的实现代码
2013/11/21 Python
python标准算法实现数组全排列的方法
2015/03/17 Python
关于Python元祖,列表,字典,集合的比较
2017/01/06 Python
python list格式数据excel导出方法
2018/10/31 Python
pandas.read_csv参数详解(小结)
2019/06/21 Python
python中的逆序遍历实例
2019/12/25 Python
Python使用Excel将数据写入多个sheet
2020/05/16 Python
使用css3背景渐变中的透明度来设置不同颜色的背景渐变
2014/03/31 HTML / CSS
原生 JS+CSS+HTML 实现时序图的方法
2019/07/31 HTML / CSS
Allsole美国/加拿大:英国一家专门出售品牌鞋子的网站
2018/10/21 全球购物
关于有小孩的离婚协议书
2014/10/26 职场文书
SQL Server数据库备份和恢复数据库的全过程
2022/06/14 SQL Server