冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
# 冒泡排序
#定义函数
def bubble_sort(a):
n = len(a)
for i in range(n): # n:数组的长度
already_sorted = True
for j in range(0, n - i - 1):
if a[j] > a[j + 1]:
a[j], a[j + 1] = a[j + 1], a[j] # 只要有交换发生,就标记为未排序完成
already_sorted = False
# 如果在内部循环中没有发生任何交换,说明数组已经排序完成
if already_sorted:
break
return a
# 创建数组
a = [16, 2, 20, 56, 22, 11, 4]
# 对数组进行冒泡排序
sorted_a = bubble_sort(a)
# 打印后的数组
print("排序后的数组为:", sorted_a)
最后运行结果如下