需求:请按照从小到大对列表 [13, 22, 6, 99, 11] 进行排序
思路:相邻两个值进行比较,将较大的值放在右侧,依次比较!
实现:
lst = [13, 22, 6, 99, 11, 1]
length_lst = len(lst)
for m in range(length_lst-1):
for i in range(length_lst-m-1):
if lst[i]>lst[i+1]:
lst[i],lst[i+1] = lst[i+1],lst[i] # 两个变量交换值
print lst
冒泡算法是一种比较简单的算法,其运行的方法如下:
比较相邻的元素,如果第一个比第二个大,则两者进行交换
每一对相邻的元素做同样的工作,第一对比较到最后一次,在完成第一次所有的元素比较的时候,最后的元素应该是 最大的数
重复以上操作,此时需要排除最后一个,因为其已经可以确定
持续每次对越来越少的元素进行以上操作,直到没有数字比较
http://timesnotes.blog.51cto.com/1079212/1715247
http://www.timesnotes.com/?p=101