用 Python 实现冒泡排序
以下是 Python 实现冒泡排序的代码:
def bubble_sort(arr):
n = len(arr)
for i in range(n):
# 提前退出冒泡循环的标志位
flag = False
for j in range(n - i - 1):
if arr[j] > arr[j + 1]:
# 交换
arr[j], arr[j + 1] = arr[j + 1], arr[j]
# 表示有数据交换
flag = True
# 没有数据交换,提前退出
if not flag:
break
return arr
在这个实现中,我们首先定义了一个 bubble_sort 函数,它接受一个数组 arr 作为输入,返回一个排好序的数组。
在函数中,我们使用了两个嵌套的循环来实现冒泡排序。外层循环控制排序的轮数,内层循环控制每一轮的比较和交换。
在每一轮中,我们使用了一个标志位 flag 来判断是否有数据交换。如果没有数据交换,说明数组已经排好序,可以提前退出冒泡循环,减少不必要的比较操作。
最后,我们返回排好序的数组。
原文地址: http://www.cveoy.top/t/topic/bL13 著作权归作者所有。请勿转载和采集!