python简单实现插入排序实例代码

作者:宋宋大人 时间:2021-11-27 14:33:04 

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简单实现插入排序实例代码

来源:https://www.py.cn/jishu/jichu/21960.html

标签:python,插入排序
0
投稿

猜你喜欢

  • Python处理mysql特殊字符的问题

    2024-01-17 01:28:38
  • python聚类算法解决方案(rest接口/mpp数据库/json数据/下载图片及数据)

    2024-01-13 15:19:57
  • asp获取完整url地址代码

    2010-03-22 14:25:00
  • 关于Python字符编码与二进制不得不说的一些事

    2022-01-07 14:56:46
  • 更正确的asp冒泡排序

    2024-04-22 13:04:10
  • python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例

    2023-07-19 00:34:06
  • Go中time.RFC3339 时间格式化的实现

    2024-02-07 21:24:55
  • 用户不需要信息快餐

    2009-02-25 12:34:00
  • python制作的天气预报小工具(gui界面)

    2022-04-03 17:20:42
  • Python 网页请求之requests库的使用详解

    2021-01-30 23:42:06
  • 深入JDBC sqlserver连接写法的详解

    2024-01-19 12:47:28
  • MySQL如何快速修改表的表结构

    2024-01-15 13:51:36
  • python绘制多个曲线的折线图

    2021-08-01 13:58:52
  • python 批量修改/替换数据的实例

    2021-03-15 14:18:36
  • 修改MYSQL最大连接数的3种方法分享

    2024-01-21 10:33:44
  • JS实现将Asp.Net的DateTime Json类型转换为标准时间的方法

    2024-04-18 10:03:09
  • mysql 5.7.13 安装配置方法图文教程(linux)

    2024-01-27 20:46:37
  • 如何在asp中创建DSN?

    2009-11-14 20:46:00
  • python实现按任意键继续执行程序

    2021-02-12 12:47:10
  • Python根据文件名批量转移图片的方法

    2023-03-14 15:00:21
  • asp之家 网络编程 m.aspxhome.com