python实现冒泡排序的算法

冒泡排序是对数组里面两个相邻的数据进行比较并排序,最大的数会不断向后移动,因此叫冒泡排序。

冒泡排序的步骤:

1.首先对数组第一个数和第二个数进行比较,谁最小,谁排在前面

2.将第二个数与第三个数进行比较排序,谁最小,谁排前面,以此类推,把最大的数移到最后面,

3.以此类推,把较大的值排到后面

python 复制代码
data=[6,15,4,2,8,5,11,9,7,13]

for i in range(len(data)):
    for j in range(len(data)-i-1):
        if data[j]>data[j+1]:
            data[j],data[j+1] = data[j+1],data[j]

print(data)            

上面代码是python的冒泡排序代码,它是两层循环,首选外层循环选择要开始比较的数组元素下标

内层循环是进行比较排序

冒泡排序的时间复杂度是O(n^2)

空间复杂度是O(1)

相关推荐
leoufung5 分钟前
LeetCode 149: Max Points on a Line - 解题思路详解
算法·leetcode·职场和发展
样例过了就是过了5 分钟前
LeetCode热题100 最长公共子序列
c++·算法·leetcode·动态规划
2401_8323655211 分钟前
JavaScript中rest参数(...args)取代arguments的优势
jvm·数据库·python
Sirius.z13 分钟前
第J3周:DenseNet121算法详解
python
HXDGCL14 分钟前
矩形环形导轨:自动化循环线的核心运动单元解析
运维·算法·自动化
谭欣辰25 分钟前
C++ 排列组合完整指南
开发语言·c++·算法
2301_7796224128 分钟前
Go语言怎么用信号量控制并发_Go语言semaphore信号量教程【入门】
jvm·数据库·python
代码中介商39 分钟前
银行管理系统的业务血肉 —— 流程、状态机、输入校验与持久化(下篇)
c语言·算法
2301_7662834439 分钟前
c++如何将控制台输出保存到文件_cout重定向到txt【详解】
jvm·数据库·python
foundbug9991 小时前
自适应滤除直达波干扰的MATLAB实现
开发语言·算法·matlab