Python冒泡排序算法详解与代码示例
Python冒泡排序算法详解与代码示例
冒泡排序是一种简单直观的排序算法,它重复地遍历要排序的列表,每次比较相邻的两个元素,如果它们的顺序错误就交换它们的位置。
以下是使用Python实现冒泡排序算法的代码示例:
def bubble_sort(arr):
n = len(arr)
for i in range(n):
# 每次循环将最大的元素冒泡到数组末尾
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
代码解释:
- 函数定义:
bubble_sort(arr)函数接受一个列表arr作为输入。 - 外层循环:
for i in range(n)循环控制比较的轮数,一共进行n-1轮比较。 - 内层循环:
for j in range(0, n-i-1)循环每次从列表的第一个元素开始,依次比较相邻的两个元素。 - 比较和交换:
if arr[j] > arr[j+1]判断相邻两个元素的大小关系,如果顺序错误,则使用arr[j], arr[j+1] = arr[j+1], arr[j]语句交换它们的位置。 - 返回结果: 最后,函数返回排序后的列表
arr。
示例:
# 测试代码
arr = [64, 34, 25, 12, 22, 11, 90]
sorted_arr = bubble_sort(arr)
print('排序后的数组:', sorted_arr)
输出:
排序后的数组:[11, 12, 22, 25, 34, 64, 90]
希望这个冒泡排序算法的解释和代码示例能够帮助你更好地理解它!
原文地址: https://www.cveoy.top/t/topic/bGW9 著作权归作者所有。请勿转载和采集!