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

python实现冒泡排序

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

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

def bubble_sort(arr):
    n = len(arr)
    for i in range(n):
        # 创建一个标志,用于检查在这一轮遍历中是否有元素被交换
        swapped = False
        for j in range(0, n - i - 1):
            # 如果当前元素大于下一个元素,就交换它们
            if arr[j] > arr[j + 1]:
                arr[j], arr[j + 1] = arr[j + 1], arr[j]
                # 如果有元素被交换,那么标志设为True
                swapped = True
        # 如果在一轮遍历中没有元素被交换,那么数组已经排序完成,可以提前退出循环
        if not swapped:
            break
    return arr

# 测试冒泡排序函数
arr = [64, 34, 25, 12, 22, 11, 90]
bubble_sort(arr)
print("Sorted array is:", arr)

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

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

相关文章:

  • 树莓派Py程序加入开机自启
  • C语言 —— 图形打印
  • python学习、开发实用文档分享
  • 【死磕Elasticsearch】从实战中来,到实战中去
  • Java SE入门及基础(35)
  • 基于 HBase Phoenix 构建实时数仓(2)—— HBase 完全分布式安装
  • plantUML使用指南之序列图
  • 98. 一台服务器能支持多少QPS
  • Spring Security
  • 代码随想录day33 Java版
  • 高可用篇_A Docker容器化技术_V 基于DockerCompose实现容器编排
  • 蓝桥杯(3.10)
  • python基础及网络爬虫
  • Langchain-Chatchat本地搭建ChatGLM3模型和提取PDF内容
  • 【自然语言处理】【大模型】BitNet:用1-bit Transformer训练LLM
  • 蓝桥杯[OJ 2928]分糖果-CPP(贪心、字典序)
  • FreeRTOS教程2 任务管理
  • 加密 / MD5算法 /盐值
  • C语言——简易版扫雷
  • 解决达梦集成 JPA 时表和字段注释注解不生效的问题
  • 第二期人工智能能力建设研讨班在京开班,近40国和区域组织代表参加
  • 从“求生”到“生活”:医保纳入创新药让梗阻性肥厚型心肌病患者重拾生活掌控权
  • 成都锦江区一在建工地起火,致2人遇难1人受伤
  • 重庆三峡学院回应“85万元中标设备,网购价不到300元”:已着手解决
  • 伤员回归新援融入,海港逆转海牛重回争冠集团
  • 告别户口本!今天起婚姻登记实现全国通办