Python冒泡排序算法代码示例与讲解

冒泡排序是一种简单直观的排序算法,它重复地遍历要排序的列表,比较相邻元素并交换它们的位置,直到没有元素需要交换为止。

以下是用Python实现冒泡排序算法的代码示例:

def bubble_sort(arr):
    n = len(arr)
    # 外层循环控制比较轮数
    for i in range(n - 1):
        # 内层循环进行相邻元素比较和交换
        for j in range(n - 1 - i):
            # 如果当前元素大于后一个元素,则交换它们的位置
            if arr[j] > arr[j + 1]:
                arr[j], arr[j + 1] = arr[j + 1], arr[j]
    return arr

# 测试示例
arr = [5, 3, 8, 4, 2]
sorted_arr = bubble_sort(arr)
print(sorted_arr)

这段代码的工作原理如下:

  1. 外层循环 for i in range(n - 1): 控制比较的轮数,一共进行 n-1 轮比较。
  2. 内层循环 for j in range(n - 1 - i): 在每一轮比较中,从列表的第一个元素开始,依次比较相邻的两个元素。
  3. 条件判断 if arr[j] > arr[j + 1]: 如果当前元素 arr[j] 大于后一个元素 arr[j+1],则交换它们的位置。
  4. 交换元素 arr[j], arr[j + 1] = arr[j + 1], arr[j]: 使用Python的元组赋值语法,简洁地交换两个元素的值。

经过 n-1 轮比较后,列表中的元素将按照升序排列。

以上述示例为例,输出结果应为 [2, 3, 4, 5, 8]

希望这个代码示例和讲解能够帮助你理解冒泡排序算法。

Python冒泡排序算法代码示例与讲解

原文地址: https://www.cveoy.top/t/topic/cv18 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录