先获取列表的长度,然后使用两个嵌套的for循环来遍历列表。如果当前元素大于下一个元素,我们就交换它们的位置。这个过程会重复进行,直到列表完全排序。这就是冒泡排序的基本原理。
n个数字来排序,两两相比小靠前,外层循环n,内层循环n-i-1
def bubble_sort(lst):
n = len(lst)
for i in range(n):
for j in range(0, n - i - 1):
if lst[j] > lst[j + 1]:
lst[j], lst[j + 1] = lst[j + 1], lst[j]
return lst
# 测试
numbers = [64, 34, 25, 12, 22, 11, 90]
print("原始列表:", numbers)
bubble_sort(numbers)
print("排序后的列表:", numbers)