python中的插入排序的简单用法
作者:十一 发布时间:2023-09-30 07:57:51
标签:python,插入排序
现在大家学习python掌握内容了解太多太多,但是最重要的不是掌握了解算法的使用,而是了解算法原理远比使用算法命令更重要,现在大家了解算法应该都不低于5种了吧,比如排序算法、冒泡算法、归并算法等等,那对本期主题插入算法有过了解吗?如果没有了解的小伙伴可以跟着小编一起来了解学习。
插入排序简介:
将列表分为有序区和无序区两个部分,最初有序区只有一个元素,即第一个元素。
然后每次从无序区选择一个元素,插入到有序区中,直到无序区为空。
运行图示:
实现代码:
# 选择排序 O(n2)
def insert_sort(li):
for i in range(1, len(li)):
tmp = li[i]
j = i - 1
while j >= 0 and li[j] > tmp:
li[j + 1] = li[j]
j -= 1
li[j+1] = tmp
扩展实例代码:
# -*- 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)
来源:https://www.py.cn/jishu/jichu/23053.html
0
投稿
猜你喜欢
- 其实SQLServer提供了一个sp_spaceused的系统存储过程可以实现该功能,下面就是调用的SQL: 代码如下:crea
- 我们在使用ASP 内置的ADO组件进行数据库编程时,通常是在脚本的开头打开一个连接,并在脚本的最后关闭它,但是就较大脚本而言,在多数情况下连
- 打开在节点中加入一句:max_allowed_packet=5M 将MySQL的容量扩大到5M  
- 在asp.net 2.0中,很多情况下,使用gridview控件的话,甚至只需要拖拉控件,设置属性就可
- 使用SQLSERVER的应该经常遇到“Unable to read local eventlog (reason:事件日志文件已在读取时间更
- 在JavaScript中,我们应该尽可能的用局部变量来代替全局变量,这句话所有人都知道,可是这句话是谁先说的?为什么要这么做?有什么根据么?
- 偶然看到 Tanel Poder 提到的一个 Metalink Note (438452.1): Performance Tools Qui
- 很多人可能发现,无论是在sql 2000, 还是在 sql 2005 中,都没有提供字符串的聚合函数, 所以, 当我们在处理下列要求时,会比
- 本文实例讲述了PHP实现基于3DES算法加密解密字符串。分享给大家供大家参考,具体如下:3DES(或称为Triple DES)是三重数据加密
- 在改进SQL Server 7.0系列所实现的安全机制的过程中,Microsoft建立了一种既灵活又强大的安全管理机制,它能够对用户访问SQ
- 应用场景1.需要将大型MP3文件切割成较小的部分以便上传或发送。2.需要从MP3文件中提取特定的音频片段,以便用于其他目的。3.需要快速制作
- 如下所示:var myarr=new Array(); //先声明一维 for(var i=0;i<2;i++){ //一
- 1.说明:复制表(只复制结构,源表名:a 新表名:b)SQL: select * into b&nb
- 如今大部分网站仍然采用表格嵌套内容的方式来制作网站,虽然此方法对于我们来说比较熟悉、比较上手;但是,它却阻碍了一种更好的、更有亲和力的、更灵
- 前言其实Beautiful Soup 模块除了能够搜索和导航之外,还能够修改 HTML/XML 文档的内容。这就意味着能够添加或删除标签、修
- 之前在懒懒分会上分享的一点关于border画小图的内容, 完整的ppt在这里.原理css盒模型一个盒子包括: margin+border+p
- CREATE TABLE `category` ( `Id` binary(1
- 本文实例讲述了php生成curl命令行的方法。分享给大家供大家参考,具体如下:示例:curl "http://localhost/
- 导言:在前面的教程里我们探讨了如何为GridView控件添加radio buttons列。当用户最多只能选择一项数据时,我们可以在用户界面里
- 代码如下: <% Dim oConn, ors, aRows Dim i,j Set oConn=Server.CreateObjec