# -*- coding: UTF-8 -*- def bubble_sort(a): for i in range(len(a)-1): j = 0 while(j<len(a)-i-1): if a[j]>a[j+1]: a[j],a[j+1]=a[j+1],a[j]#交换数值 j+=1 else:j+=1 return a a = [4,2,7,5,7] bubble_sort(a)
写的不太简洁,没有写测试数据,手动测试没有啥问题。
我是从前往后排的。
冒泡排序:(摘自百度百科)
-
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
-
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
-
针对所有的元素重复以上的步骤,除了最后一个。
-
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。