lowB三人组代码示例
冒泡排序:列表在内存重只存一份,所以不需要重复赋值 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三人组代码示例相关推荐
- 排序算法lowb三人组-插入排序
排序算法lowb三人组-插入排序 def insert_sort(li):for i in range(1, len(li)): # i表示摸到的牌的下标tmp = li[i] # 摸到的牌j = i ...
- 用 Python画圣诞树的三种代码示例
大家好,我是明哥. 马上就是圣诞节了,先提前祝大家圣诞快乐! 今天来给大家分享一波如何使用 Python 来画一颗圣诞节树,包含多种版本,从平民版到豪华版,像极了一个程度员从入门到高级秃头程序员的过程 ...
- 算法1-排序LowB三人组
import random from timewrap import *@cal_time def bubble_sort(li):for i in range(len(li) - 1):# i 表示 ...
- 算法-lowb三人组
---恢复内容开始--- d定义: pandas是一个强大的Python数据分析的工具包. pandas是基于NumPy构建的. 安装方法: pip install pandas import pan ...
- 【Groovy】闭包 Closure ( 闭包调用 | 闭包默认参数 it | 代码示例 )
文章目录 一.调用闭包 二.闭包默认参数 it 三.代码示例 一.调用闭包 执行 Closure 变量 的 call() 方法 , 可以调用该闭包 ; // 定义闭包变量def closure = { ...
- 【Groovy】map 集合 ( map 集合定义 | 通过 getClass 函数获取 map 集合的类型 | 代码示例 )
文章目录 一.map 集合定义 二.获取 map 集合类型 三.代码示例 一.map 集合定义 声明键值对 , 其中 键 Key 可以 不使用引号 , 可以 使用单引号 '' , 也可以 使用双引号 ...
- 【Groovy】集合遍历 ( 使用集合的 reverseEach 方法进行遍历 | 倒序集合迭代器 ReverseListIterator 类简介 | 代码示例 )
文章目录 一.使用集合的 reverseEach 方法进行倒序遍历 二.倒序集合迭代器 ReverseListIterator 类简介 三.代码示例 一.使用集合的 reverseEach 方法进行倒 ...
- 【Android NDK 开发】Kotlin 语言中使用 NDK ( 创建支持 Kotlin 的 NDK 项目 | Kotlin 语言中使用 NDK 要点 | 代码示例 )
文章目录 一.创建支持 Kotlin 的 NDK 项目 二.Kotlin 语言中使用 NDK 要点 1.加载动态库 2.声明 ndk 方法 3.Project 下的 build.gradle 配置 4 ...
- jedispool redis哨兵_通过java哨兵JedisSentinelPool代码示例连接对配置的redis哨兵主从模式进行测试验证...
一.前言 本文章通过关于java的jedis(2.6.0)的redis客户端连接驱动包,对配置的redis哨兵+主从读写模式配置进行示例代码验证,详细参见具体配置步骤&示例代码说明部分. 二. ...
- 【移动端网页布局】移动端网页布局基础概念 ⑤ ( 视网膜屏技术 | 二倍图概念 | 代码示例 )
文章目录 一.视网膜屏技术 二.二倍图概念 三.代码示例 一.视网膜屏技术 PC 端 和 早期的 移动端 网页中 , CSS 中配置的 1 像素 对应的就是物理屏幕中的 1 像素 ; Retina 视 ...
最新文章
- strtok()思考
- Netflix正式开源其API网关Zuul 2--转
- Android 手机卫士--9patch图
- boost::math模块两个 Lambert W 函数的最基本调用示例
- 小凡模拟器:DynamipsGUI使用问题解决方法
- Java并发编程实战~volatile
- 【2015年第4期】大数据时代的数据挖掘 —— 从应用的角度看大数据挖掘(上)...
- [转帖]Ipvsadm参数详解(常用命令)
- mysql字符串拼接有空值_mysql字符串如何拼接并设置null值 mysql字符串拼接并设置null值实例方法...
- 用flashAS3.0做一个连线题
- python求平方函数图像_求平方 python
- 统计Nginx访问量
- OTU/ASV/Feature tabel 表格 过滤 相对丰度 微生物
- 八字易经算法之用JAVA实现 地藏十神排法
- JS 转换数字/日期大全
- linux .net 控制台应用程序,使用 Visual Studio Code 创建 .NET 控制台应用程序 - .NET | Microsoft Docs...
- 《北风网网友录制Silverlight入门系列视频教程》共23课时/更新完毕[压缩包]
- 温湿度传感器——DHT11学习总结
- 设计求任意两个整数和的web程序,用户通过提交页面(input.jsp)输入两个整数,并提交给一个(sum.jsp)程序
- 【亲测有效】维基百科图片不能显示
热门文章
- 完美解决网页无法上传大文件方法
- 个人博客建设——Hexo主题icarus的_config.icarus.yml配置参数注释
- 2003服务器安全策略
- codeforces C. Multiples of Length
- docker启动mysql报错Error starting userland proxy: listen tcp4 0.0.0.0:3306: bind: address already in use
- android 实现果冻动画效果,Android高仿path小球刷新效果,类似IOS果冻效果
- win10防火墙_怎么关闭防火墙
- 八国离线谷歌卫星影像地图内网发布
- 泊松过程2 | 泊松过程扩展
- 服务器设置静态IP地址教程,在Ubuntu服务器18.04上设置静态IP地址