冒泡排序:列表在内存重只存一份,所以不需要重复赋值
import random
from timewrap import *          #时间装饰器
# 初级版本
@cal_time
def bubble_sort(li):for i in range(len(li)-1):       #循环的躺数为总的躺数-1,因为最后一步没必要走# i 表示趟数# 第 i 趟时: 无序区:(0,len(li) - i)for j in range(len(li) - i - 1):  #循环i次之后就还有总长度-1-i次if li[j] > li[j+1]:              #如果低j个数比j+1个数还要大,说明j在j+1的上边li[j], li[j+1] = li[j+1], li[j]        #交换位置
# 优化版,和上边的基本一样,只是在他的基础上增加了一层判断,如果刚刚开始列表就是有序的则不需要进行排序
@cal_time
def bubble_sort_2(li):for i in range(len(li)-1):# i 表示趟数# 第 i 趟时: 无序区:(0,len(li) - i)change = Falsefor j in range(len(li) - i - 1):if li[j] > li[j+1]:li[j], li[j+1] = li[j+1], li[j]change = True       #排序成功返回Trueif not change:        #如果没有change的值代表没有排序,returnli = list(range(10000))         #随机产生10000个数
# random.shuffle(li)             #打乱后的结果
# print(li)
bubble_sort_2(li)               #没有打乱排序,直接走if not change:
print(li)

#选择排序
import random
from timewrap import *         #时间装饰器,用来判断函数执行的时间长度@cal_time
def select_sort(li):for i in range(len(li)-1):# i 表示趟数,也表示无序区开始的位置min_loc = i   # 最小数的位置          的到一个最小值for j in range(i+1, len(li)):   #此时i就是最小值if li[j] < li[min_loc]:           #如果li[j]<li[min_loc]   说明j就是最小值min_loc = jli[i], li[min_loc] = li[min_loc], li[i]       #交换位置,最小值放在前边li = list(range(10000))    #随机产生1000个数字
random.shuffle(li)         #打乱
print(li)
select_sort(li)            #调用函数,排序
print(li)

#插入排序
import random
from timewrap import *@cal_time
def insert_sort(li):for i in range(1, len(li)):# i 表示无序区第一个数tmp = li[i] # 摸到的牌                 随机去到一支歌j = i - 1 # j 指向有序区最后位置while li[j] > tmp and j >= 0:        # 有序区最下的值#循环终止条件: 1. li[j] <= tmp; 2. j == -1li[j+1] = li[j]j -= 1li[j+1] = tmpli = list(range(10000))
random.shuffle(li)
print(li)
insert_sort(li)
print(li)

转载于:https://www.cnblogs.com/52-qq/p/8399307.html

lowB三人组代码示例相关推荐

  1. 排序算法lowb三人组-插入排序

    排序算法lowb三人组-插入排序 def insert_sort(li):for i in range(1, len(li)): # i表示摸到的牌的下标tmp = li[i] # 摸到的牌j = i ...

  2. 用 Python画圣诞树的三种代码示例

    大家好,我是明哥. 马上就是圣诞节了,先提前祝大家圣诞快乐! 今天来给大家分享一波如何使用 Python 来画一颗圣诞节树,包含多种版本,从平民版到豪华版,像极了一个程度员从入门到高级秃头程序员的过程 ...

  3. 算法1-排序LowB三人组

    import random from timewrap import *@cal_time def bubble_sort(li):for i in range(len(li) - 1):# i 表示 ...

  4. 算法-lowb三人组

    ---恢复内容开始--- d定义: pandas是一个强大的Python数据分析的工具包. pandas是基于NumPy构建的. 安装方法: pip install pandas import pan ...

  5. 【Groovy】闭包 Closure ( 闭包调用 | 闭包默认参数 it | 代码示例 )

    文章目录 一.调用闭包 二.闭包默认参数 it 三.代码示例 一.调用闭包 执行 Closure 变量 的 call() 方法 , 可以调用该闭包 ; // 定义闭包变量def closure = { ...

  6. 【Groovy】map 集合 ( map 集合定义 | 通过 getClass 函数获取 map 集合的类型 | 代码示例 )

    文章目录 一.map 集合定义 二.获取 map 集合类型 三.代码示例 一.map 集合定义 声明键值对 , 其中 键 Key 可以 不使用引号 , 可以 使用单引号 '' , 也可以 使用双引号 ...

  7. 【Groovy】集合遍历 ( 使用集合的 reverseEach 方法进行遍历 | 倒序集合迭代器 ReverseListIterator 类简介 | 代码示例 )

    文章目录 一.使用集合的 reverseEach 方法进行倒序遍历 二.倒序集合迭代器 ReverseListIterator 类简介 三.代码示例 一.使用集合的 reverseEach 方法进行倒 ...

  8. 【Android NDK 开发】Kotlin 语言中使用 NDK ( 创建支持 Kotlin 的 NDK 项目 | Kotlin 语言中使用 NDK 要点 | 代码示例 )

    文章目录 一.创建支持 Kotlin 的 NDK 项目 二.Kotlin 语言中使用 NDK 要点 1.加载动态库 2.声明 ndk 方法 3.Project 下的 build.gradle 配置 4 ...

  9. jedispool redis哨兵_通过java哨兵JedisSentinelPool代码示例连接对配置的redis哨兵主从模式进行测试验证...

    一.前言 本文章通过关于java的jedis(2.6.0)的redis客户端连接驱动包,对配置的redis哨兵+主从读写模式配置进行示例代码验证,详细参见具体配置步骤&示例代码说明部分. 二. ...

  10. 【移动端网页布局】移动端网页布局基础概念 ⑤ ( 视网膜屏技术 | 二倍图概念 | 代码示例 )

    文章目录 一.视网膜屏技术 二.二倍图概念 三.代码示例 一.视网膜屏技术 PC 端 和 早期的 移动端 网页中 , CSS 中配置的 1 像素 对应的就是物理屏幕中的 1 像素 ; Retina 视 ...

最新文章

  1. strtok()思考
  2. Netflix正式开源其API网关Zuul 2--转
  3. Android 手机卫士--9patch图
  4. boost::math模块两个 Lambert W 函数的最基本调用示例
  5. 小凡模拟器:DynamipsGUI使用问题解决方法
  6. Java并发编程实战~volatile
  7. 【2015年第4期】大数据时代的数据挖掘 —— 从应用的角度看大数据挖掘(上)...
  8. [转帖]Ipvsadm参数详解(常用命令)
  9. mysql字符串拼接有空值_mysql字符串如何拼接并设置null值 mysql字符串拼接并设置null值实例方法...
  10. 用flashAS3.0做一个连线题
  11. python求平方函数图像_求平方 python
  12. 统计Nginx访问量
  13. OTU/ASV/Feature tabel 表格 过滤 相对丰度 微生物
  14. 八字易经算法之用JAVA实现 地藏十神排法
  15. JS 转换数字/日期大全
  16. linux .net 控制台应用程序,使用 Visual Studio Code 创建 .NET 控制台应用程序 - .NET | Microsoft Docs...
  17. 《北风网网友录制Silverlight入门系列视频教程》共23课时/更新完毕[压缩包]
  18. 温湿度传感器——DHT11学习总结
  19. 设计求任意两个整数和的web程序,用户通过提交页面(input.jsp)输入两个整数,并提交给一个(sum.jsp)程序
  20. 【亲测有效】维基百科图片不能显示

热门文章

  1. 完美解决网页无法上传大文件方法
  2. 个人博客建设——Hexo主题icarus的_config.icarus.yml配置参数注释
  3. 2003服务器安全策略
  4. codeforces C. Multiples of Length
  5. docker启动mysql报错Error starting userland proxy: listen tcp4 0.0.0.0:3306: bind: address already in use
  6. android 实现果冻动画效果,Android高仿path小球刷新效果,类似IOS果冻效果
  7. win10防火墙_怎么关闭防火墙
  8. 八国离线谷歌卫星影像地图内网发布
  9. 泊松过程2 | 泊松过程扩展
  10. 服务器设置静态IP地址教程,在Ubuntu服务器18.04上设置静态IP地址