python实现排序的lowB三人组:冒泡、插入、选择
人之所以痛苦,那是因为你在成长。--------magic_guo
为什么称之为lowB三人组:因为时间复杂度都是O(n*2)
话不多说,直接上代码:
# 排序中的lowB三人组# 1.冒泡排序
li = [5, 7, 3, 1, 9, 4, 6]
def bubble_sort(li):l = len(li)for i in range(l-1):for j in range(l-i-1):if li[j] > li[j+1]:li[j], li[j+1] = li[j+1], li[j]return li# 冒泡排序改进
def bubble_sort1(li):l = len(li)for i in range(l - 1):exchange = Falsefor j in range(l - i - 1):if li[j] > li[j + 1]:li[j], li[j + 1] = li[j + 1], li[j]exchange = True# 判断在这个过程中是否有交换,如果没有交换,则说明已经是有序的,则直接breakif not exchange:breakreturn liprint(bubble_sort1(li))# print(bubble_sort(li))# 选择排序
def select_sort(li):l = len(li)for i in range(l-1):min_loc = ifor j in range(i, l): #(i+1, l)if li[min_loc] > li[j]:min_loc = jli[i], li[min_loc] = li[min_loc], li[i]return li# print(select_sort(li))# 插入排序def insert_sort(li):l = len(li)for i in range(1, l):for j in range(i, 0, -1):if li[j] < li[j-1]:li[j-1], li[j] = li[j], li[j-1]return li# print(insert_sort(li))
python实现排序的lowB三人组:冒泡、插入、选择相关推荐
- 排序算法lowb三人组-插入排序
排序算法lowb三人组-插入排序 def insert_sort(li):for i in range(1, len(li)): # i表示摸到的牌的下标tmp = li[i] # 摸到的牌j = i ...
- Java数据结构和算法(三)——冒泡、选择、插入排序算法
上一篇博客我们实现的数组结构是无序的,也就是纯粹按照插入顺序进行排列,那么如何进行元素排序,本篇博客我们介绍几种简单的排序算法. 回到顶部 1.冒泡排序 这个名词的由来很好理解,一般河水中的冒泡,水底 ...
- php冒泡 插入选择 排序,说说PHP数组的三种排序(冒泡/选择/插入)方法
说说PHP数组的三种排序(冒泡/选择/插入)方法 PHP #数组 #排序 #冒泡 #选择 #插入2012-05-30 10:17 一.冒泡排序法 说明:找到最大的数,排列到最后面,然后继续找 例: $ ...
- 算法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 ...
- 排序算法之low B三人组
排序算法之low B三人组 排序low B三人组 列表排序:将无序列表变成有充列表 应用场景:各种榜单,各种表格,给二分法排序使用,给其他算法使用 输入无序列表,输出有序列表(升序或降序) 排序low ...
- python自动化工具之pywinauto(三)
python自动化工具之pywinauto(三) python自动化工具之pywinauto三 问题分析 解决方案 选择源文件 配置参数 输出路径选择 等待窗口出现 问题分析 上篇尝试使用脚本进行模拟 ...
- 回炉篇5—数据结构(4)之冒泡、选择、插入排序算法
冒泡.选择.插入排序算法 排序大家都很熟了,很古老的算法,古老才有必要回炉再看一遍,经典才值得研究. 1.冒泡排序 从字面意思理解,水泡从水底冒出到水面的过程中,由小慢慢大,最后大泡泡冒出水面,了解这 ...
- 微课|中学生可以这样学Python(例8.22):冒泡法排序
适用教材: 董付国,应根球.<中学生可以这样学Python>.清华大学出版社,2017. 第8章 常用算法的Python实现 例8.22 冒泡法排序 京东购买链接:https://it ...
- python数字排序_python数字排序
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 例如,你想要按照名字来对一列团队成员名单进行排序,或者想按照优先级来对一列项目进 ...
最新文章
- 非常有必要了解的Springboot启动扩展点
- 记录理解程度、一篇至少读3遍,吴恩达建议这样读论文!
- C++知识点20——使用C++标准库(再谈string——string的大小、容量、交换与迭代器失效)
- ATL CLR MFC Win32 常规 的区别
- 视觉SLAM学习--RTAB MAP学习(待完善)
- 【ARM】Tiny4412裸机编程之LED(一)
- 【微软官方文档】应用程序错误处理
- NoSQL数据库:数据的一致性
- linux系统日志_Linux系统学习系列——Linux系统日志管 理(下 )
- RecycleView的LayoutManager
- Google开启全新图像目标检测大赛,场景多样性和复杂度史无前例
- gan网络损失函数_生成对抗网络的最新研究进展
- 基于mint-ui的移动应用开发案例一(简介)
- [经验] (转帖)IGBT终于不炸了!详解逆变H桥IGBT单管驱动+保护
- 服务器快速搭建AList集成网盘网站【宝塔面板一键部署AList/Docker】
- 今日头条自媒体怎么提高推荐量
- (vcom-1141) Identifier “<protected>“ does not identify a component declaration.
- benchmark java_Xudong
- Mac下安装vim的插件YouCompleteMe及注意事项
- Canvas粒子交叉线条背景动态js特效
热门文章
- 程序员最喜欢的五大神器
- 「Mpvue」记录我遇到的天坑
- warpaffine 旋转有一部分消失_OpenCV warpAffine的天坑
- Sqlmap免Python版启动器的小修改(根据学习进度逐步更新)
- 计算机显示器画画的清晰度,如何设置显示器分辨率让画面更清晰
- android:layout_margintop=3dip,ConstraintLayout 中android:layout_marginStart
- 我们终究是一群平凡的人
- win11最新bug修复合集(来源于微软官方)
- 怎么离线发布全国谷歌高清卫星影像地图瓦片
- 北京易思汇商务服务有限公司 留学缴费