冒泡排序(BubbleSort)
-
算法步骤
- 比较相邻的两个元素,如果第一个比第二个大,那么就交换他们两个。
- 对每一对相邻的元素同样的工作,从开始的第一队,到结尾的最后一对。这步做完后,最后的元素会是最大的数。
- 针对所有的元素重复以上的步骤,直到没有任何一对数字需要比较
-
动画演示
- python实现代码
def bubbleSort(arr):
for i in range(1,len(arr)): #计算循环的次数
for j in range(0,len(arr)-i): #计算每次循环的索引
if arr[j]>arr[j+1]:
arr[j],arr[j+1]=arr[j+1],arr[j]
return arr
alist=[1,5,6,3,4,7,8,9,6]
ret=bubbleSort(alist)
print(ret)
得:[1, 3, 4, 5, 6, 6, 7, 8, 9]