当前位置: 首页 > news >正文

python实现冒泡排序

冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。

以下是用Python实现冒泡排序的代码:

def bubble_sort(arr):n = len(arr)for i in range(n):# 创建一个标志,用于检查在这一轮遍历中是否有元素被交换swapped = Falsefor j in range(0, n - i - 1):# 如果当前元素大于下一个元素,就交换它们if arr[j] > arr[j + 1]:arr[j], arr[j + 1] = arr[j + 1], arr[j]# 如果有元素被交换,那么标志设为Trueswapped = True# 如果在一轮遍历中没有元素被交换,那么数组已经排序完成,可以提前退出循环if not swapped:breakreturn arr# 测试冒泡排序函数
arr = [64, 34, 25, 12, 22, 11, 90]
bubble_sort(arr)
print("Sorted array is:", arr)

这段代码首先定义了一个名为bubble_sort的函数,该函数接受一个列表作为参数。函数内部有两个循环:外循环遍历整个列表,内循环负责比较相邻元素并交换它们(如果它们的顺序是错误的)。如果在内循环中没有发生任何交换,那么就可以确定列表已经排序完成,可以提前退出外循环。

在测试部分,我们创建了一个未排序的列表,并调用bubble_sort函数对其进行排序。最后,我们打印出排序后的列表。

http://www.lryc.cn/news/316654.html

相关文章:

  • 大数据开发(HBase面试真题-卷二)
  • 基于springboot+vue的线上教育系统(源码+论文)
  • 01-shell的自学课-基础变量学习
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Span)
  • 前端框架的演进之路:从静态网页到现代交互体验的探索
  • 在Linux/Ubuntu/Debian中设置字体
  • Python 常用内置函数,及实例演示
  • C++标准输入输出和名字空间
  • hive逗号分割行列转换
  • Jenkins插件Parameterized Scheduler用法
  • 西门子S7.NET通信库【读】操作详解
  • Qt/C++音视频开发69-保存监控pcm音频数据到mp4文件/监控录像/录像存储和回放/264/265/aac/pcm等
  • 闲聊Swift的枚举关联值
  • 抓取Instagram数据:Fizzler库带您进入C#爬虫程序的世界
  • Codeforces Round 933 (Div. 3) A~D
  • 《vtk9 book》 官方web版 第3章 - 计算机图形基础 (3 / 5)
  • pytorch 函数整理
  • docker实战之制作filebeat镜像
  • 【DAY11 软考中级备考笔记】数据结构 查找和排序
  • 华为机考:HJ102 字符统计
  • 安装配置HBase
  • 【更新】数字金融与企业ESG表现:效应、机制与“漂绿”检验数据集(2011-2022年)
  • 手写简易操作系统(五)--获得物理内存容量
  • 机器学习之DeepSequence软件使用学习3-预测突变效应
  • Linux文件与文件系统的压缩
  • ubuntu 中进入python 编辑如何退出到命令行
  • 2024.3.12 C++
  • 飞塔防火墙开局百篇——002.FortiGate上网配置——透明模式配置(Transparent)
  • 代码随想录算法训练营第52天|300.最长递增子序列 674.最长连续递增序列 718.最长重复子数组
  • 分享一些开源的游戏仓库