python学习——python实现冒泡排序算法
python实现冒泡排序算法
- 一、冒泡排序算法实现原理
- 基本思想
- 具体步骤
- 二、图解冒泡排序
- 三、py代码实现冒泡排序算法
一、冒泡排序算法实现原理
基本思想
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
- 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
具体步骤
- 从第一个开始,比较相邻二个数据的大小,将大的放在后面,直到比较到最后一个后,列表最后一个数据将是最大的数据
- 重复1的操作,比较到列表的长度减比较的次数为止,直到比较的次数等于列表的长度-1结束
二、图解冒泡排序
三、py代码实现冒泡排序算法
关键代码:
def mp_sort(arr):"""冒泡排序 依次查询临近的二个数,将较大的数放后面:param arr:要进行冒泡排序的数据"""if len(arr) <= 1:returni = 0# 外循环控制循环次数 每一次循环结束后,最大的数都会在后面while i < len(arr):j = 0# 内循环从0开始控制比较次数while j < len(arr)-1-i:# 比较 如果前一个数大于后一个数 则换位置if arr[j] > arr[j+1]:temp = arr[j+1]arr[j+1] = arr[j]arr[j] = tempj += 1i += 1
运行:
# 定义一个列表
arr = [2, 3, 1, 5, 10, 6, 3, 4, 8]
print(arr)
mp_sort(arr)
print(arr)
打印结果:
[2, 3, 1, 5, 10, 6, 3, 4, 8]
[1, 2, 3, 3, 4, 5, 6, 8, 10]
python学习——python实现冒泡排序算法相关推荐
- Python学习---Python安装与基础1205
1.0. 安装 1.1.1. 下载 官网下载地址:https://www.python.org/downloads/release/python-352/ 1.1.2. 配置环境变量 因为在安装的时候 ...
- Python学习 Python基本图形绘制
Python学习 Python基本图形绘制 1.深入理解Python语言 2.Python蟒蛇绘制 3.turtle库的使用 4.代码调用方法分析 5.学以致用 1.深入理解Python语言 计算机技 ...
- python实现真正的冒泡排序算法(时间复杂度优化版)!
近期很多童鞋在讨论大厂面试的算法题,有部分同学表示一脸懵逼,不知从何下手,还有一一部分同学写的冒泡排序算法是直接从网上复制下来的冒泡排序,大多数都没有考虑时间复杂度,说白了只是实现了冒泡的流程,严格来 ...
- 编写python 函数,实现冒泡排序算法。
编写函数,实现冒泡排序算法. def bubble(num_list):for i in range(len(num_list)):for j in range(i):if num_list[j] & ...
- Python学习——Python海龟制图中的文字
可以用海龟的write方法显示文字,代码如下: import turtle as tt.setup(600, 400) t.write("人生苦短,我用Python", font= ...
- Learning Python 学习Python Lynda课程中文字幕
Learning Python 中文字幕 学习Python 中文字幕Learning Python Python–流行且易读性强的面向对象语言 - 既强大又易于学习 无论您是编程新手还是有经验的开发人 ...
- Python学习-Python简介和基础入门
1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...
- python学习-python学习笔记(一)python简介和基础
1.什么是python? python是一种面向对象的,解释型的计算机语言,它的特点是语法简介,优雅,简单易学.1989年诞生,Guido(龟叔)开发. 编译型语言:代码在编译之后,编译成2进制的文件 ...
- python学习——python实现快速排序算法
python实现快速排序算法 一.快速排序算法实现原理 基本思想 具体步骤 二.图解快速排序 三.py代码实现快速排序算法 一.快速排序算法实现原理 基本思想 先从数列中取出一个数作为基准数. 分区过 ...
最新文章
- iBatis学习网站推荐
- 计算机网络-RIP协议
- HLS中数据的合并与拆分
- vijos 1464 积木游戏 DP
- LeetCode---binary-tree-inorder-traversal
- Java 容器源码分析之 TreeMap
- 大数据MongoDB之NoSQL的CAP定理和BASE原则是什么?
- mybatis学习(二)
- Eclipse菜单栏翻译
- linux未备案本地网站访问,教你如何解析未备案的域名到国内服务器
- 覆盖网络(Overlay Network)
- 华为服务器2488H V6的ibmc接口配置
- #今日论文推荐# 中国矿大团队,开发集成多尺度深度学习模型,用于 RNA 甲基化位点预测
- 怎样查出SQLServer的性能瓶颈
- 【Python CUDA版】河北工业大学计算机图像处理实验四:频域平滑与锐化
- 输入一串字符,将其中的大写变成小写,若不为大写则原样输出
- 阿里云网盘不限速,公测可预约了!
- 51Nod1123 X^A Mod B 数论 中国剩余定理 原根 BSGS
- labview学习笔记1-数字输入与输出
- kanzi 粒子插件
热门文章
- oracle千万行update优化,Oracle的update优化
- 以太坊源码分析(2)——以太坊APP对象
- 网件WNR2200 Openwrt固件, 改进刷机方法
- windows7蓝屏没有修复计算机,解决 Windows 7 中的停止(蓝屏)错误
- 张花高速横贯湘西功万代 党恩浩荡滋润边城利千秋
- 买单侠显示服务器异常,买单侠将服务理念融入科技与各环节,寻求稳定发展
- isset()函数的作用和用法
- 对话ChatGPT:Prompt是普通人“魔法”吗?
- schtasks命令创建计划任务
- 【Java进阶营】10道经典java面试题_实习生必问