冒泡排序(Bubble Sort)是一种基于交换的排序算法。重复地遍历数列,一次比较两个元素,如果它们的顺序错误就将其交换。
冒泡排序的具体原理如下:
- 比较相邻的元素。如果第一个比第二个大,就交换二者
- 对每一对相邻元素做同样的操作,从开始第一对到结尾的最后一对。这步操作后,最后的元素即为最大的数。
- 针对所有元素重复以上的步骤,除了最后一个
- 持续每次对越来越少的元素重复以上步骤,直到没有任何一对数字需要比较
实现
def bubble_sort(alist):
for j in range(0,len(alist-1)):
for i in range(j):
if alist[i] > alist[i+1]:
alist[i],alist[i+1] = alist[i+1],alist[i]