1、算法步骤
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
2、动图演示
3、代码
# 定义一个函数bubbleSort,参数为一个列表arr def bubbleSort(arr): # 从索引1开始遍历到列表arr的末尾 for i in range(1, len(arr)): # 内层循环,从索引0开始遍历到len(arr) - i for j in range(0, len(arr) - i): # 如果当前元素大于后面一个元素 if arr[j] > arr[j + 1]: # 交换两个元素的位置 arr[j], arr[j + 1] = arr[j + 1], arr[j] # 返回排序后的列表arr return arr