def insert_sort(li):
for i in range(1, len(li)): # i表示摸到的牌的下标
tmp = li[i] # 摸到的牌
j = i - 1
while j >= 0 and li[j] > tmp: # 只要往后挪就循环 2个条件都得满足
# 如果 j=-1 停止挪 如果li[j]小了 停止挪
li[j+1] = li[j]
j -= 1
# j位置在循环结束的时候要么是-1要么是一个比tmp小的值
li[j+1] = tmp

和冒泡相似,循环的时候遇到比自己小的就交换值

排序算法lowb三人组-插入排序的更多相关文章

  1. 排序算法lowb三人组-选择排序

    def get_min_pos(li): min_pos = 0 for i in range(1, len(li)): if li[i] < li[min_pos]: min_pos = i ...

  2. 排序算法lowb三人组-冒泡排序

    冒泡排序:顾名思义就是像气泡从水里浮出来一样 把列表立起来如上图所示,从列表的第0项开始循环(把最大的数想成此次循环的气泡) 要把最大的放到上面那那就用第0项开始一次和剩下的开始比较,只要比第0项小就 ...

  3. 排序算法Nb三人组-归并排序

    归并排序只能对两个已经有序的列表进行合并排序,所以要我们自己创建出两个有序列表.最后在进行合并. def merge2list(li1, li2): li = [] i = 0 j = 0 while ...

  4. 排序算法Nb三人组-快速排序

    核心思想: 将列表中第一个元素拿出来,放到一边,左右两个循环,左面的大于拿出来的数,就把他挪到右面, 右面的小于拿出来的数就把他放在左面,这是列表被第一个元素''分''为两个列表,在对两个列表进行同样 ...

  5. 算法 排序lowB三人组 冒泡排序 选择排序 插入排序

    参考博客:基于python的七种经典排序算法   [经典排序算法][集锦]     经典排序算法及python实现 首先明确,算法的实质 是 列表排序.具体就是操作的列表,将无序列表变成有序列表! 一 ...

  6. 1、算法介绍,lowB三人组,快速排序

    1.什么是算法 2.递归 # 一直递归,递归完成再打印 def func4(x): if x > 0: func4(x - 1) print(x) func4(5) 3.时间 复杂度 (1)引入 ...

  7. Java排序算法(三)

    Java排序算法(三) 三.Java排序算法总结 从这三组时间复杂度对比中,可以看出,堆排序和归并排序是不管在什么情况下发挥稳定的,快速排序好的时候表现如天才,坏情况下比较差强人意,甚至在等待排序个数 ...

  8. java排序算法(三):堆排序

    java排序算法(三)堆排序 堆积排序(HeapSort)是指利用堆积树这种结构所设计的排序算法,可以利用数组的特点快速定位指定索引的元素.堆排序是不稳定的排序方法.辅助空间为O(1).最坏时间复杂度 ...

  9. 算法之排序Low B三人组

    有序区:有的地方的数据已经完全变得有顺序,我们把这部分区域的数据成为有序区无序区:有的地方的数据依旧无序,我们把这部分数据成为无序区时间复杂度:用来估计算法运行时间的一个式子(单位)空间复杂度:用来评 ...

随机推荐

  1. 数学 CF1068B LCM

    CF1068B LCM 给定一个正整数\(b (1\leq b \leq 10^{10})\). 把一个正整数a从1枚举到\(10^{18}\),求有多少种不同的\(\large \frac{[a,b ...

  2. 04day->python列表和元祖

    一.列表 1.索引.切片     索引:根据索引值获取,里表里的值     切片:和字符串相似 2.增     1)append(object),在列表的末端添加     2)insert(index ...

  3. Codeforces Round #556 题解

    Codeforces Round #556 题解 Div.2 A Stock Arbitraging 傻逼题 Div.2 B Tiling Challenge 傻逼题 Div.1 A Prefix S ...

  4. oracle安装注意

    安装环境:widows7相关教程:https://jingyan.baidu.com/article/4d58d5411e16de9dd4e9c0ec.html oracle安装情况:标准版2.8Go ...

  5. linux ssh 上传 文件

    在linux下一般用scp这个命令来通过ssh传输文件. 1.从服务器上下载文件scp username@servername:/path/filename /var/www/local_dir(本地 ...

  6. [BZOJ 4857][Jsoi2016]反质数序列

    传送门 $ \color{green} {solution : } $ 因为 $ 1 $ 的个数我们最多只能选一个,所以剩下的数如果组成素数那么只有一奇一偶,显然是个二分图模型 #include &l ...

  7. windows下实现屏幕分享(C#)

    采用UDP广播进行数据的传输,实现windows下进行低延迟的屏幕共享. 开发语言:C# 第三方组件:Redis 1.实现思路 总体流程图 DGIS.DesktopShare实现windows下屏幕分 ...

  8. Vivado 的IP:Global 和 Out-Of-Context选项问题

    在Vivado定制IP的时候,或者在IP Catalog中双击一个IP,不论该IP是我们自己添加到工程的自定义IP,还是Vivado自己带的IP,选择"Customize IP"后 ...

  9. amqp模块在python2.7.6版本上报错的问题

    机器的环境是python2.7.6; 使用pip install安装了amqp.正常安装,未报错. amqp安装的版本是2.1.4. 在python中,使用import amqp,报错如下: Trac ...

  10. Pytorch学习笔记(二)——Tensor

    一.对Tensor的操作 从接口的角度讲,对Tensor的操作可以分为两类: (1)torch.function (2)tensor.function 比如torch.sum(a, b)实际上和a.s ...