首先介绍冒泡排序算法:重复地遍历要排序的数列,一次比较两个元素,如果他们顺序错误就交换(从小到大)。
算法流程:
1.比较相邻的元素,如果第一个比第二个大,交换两者。
2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。这步做完,最后的元素是最大元素。
3.针对所有元素重复以上步骤,除了最后一个。
4.持续每次对越来越少的元素重复上面的步骤,直到排序完成。
python程序实现:
def bubble_sort(alist):
"""冒泡排序,第一个数与第二个数比较大小,将较大的数放在第二位,
然后将第二个数与第三个数进行比较,将较大数放在第三位,依次类推"""
i=0
j=1
n=0
while n<len(alist)-1:
while j<len(alist):#每次循环两两比较,大数放在后面,小数放在前面
if alist[i]>alist[j]:
b=alist[i]
alist[i]=alist[j]
alist[j]=b
i+=1
j+=1
else:
i+=1
j+=1
n+=1
i=0
j=1
return alist
print(bubble_sort([25,80,72,64,39]))