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)

相关推荐
郝学胜-神的一滴11 小时前
深度学习入门基石:PyTorch张量核心技术全解析
人工智能·pytorch·python·深度学习·算法·机器学习
Frostnova丶12 小时前
(10)LeetCode 560. 和为K的子数组
算法·leetcode·哈希算法
前端小趴菜~时倾12 小时前
python爬虫学习第二课-流程控制
爬虫·python·学习
AI专业测评12 小时前
2026年AI写作软件底层技术全景解析:长篇AI写网文的工程化实践与AI消痕算法基准测试
人工智能·算法·ai写作
放下华子我只抽RuiKe512 小时前
机器学习终章:集成学习的巅峰与全流程实战复盘
开发语言·人工智能·python·机器学习·数据挖掘·机器人·集成学习
浅念-12 小时前
C++ 异常
开发语言·数据结构·数据库·c++·经验分享·笔记·学习
2401_8845632412 小时前
高性能日志库C++实现
开发语言·c++·算法
葳_人生_蕤12 小时前
hot100——226.翻转二叉树
算法
handler0112 小时前
基础算法:BFS
开发语言·数据结构·c++·学习·算法·宽度优先
2401_8795034112 小时前
C++中的状态模式实战
开发语言·c++·算法