冒泡排序法
1、题目要求
编写冒泡排序法
2、程序分析
排序是对无序list的一种操作,经过排序后,list变得有序,或是从小到大,或是从大到小
冒泡排序法是最简单的排序法,它的思路非常简洁,已知一个lst,里面有N的元素
先对N个元素进行排序,相邻两个数值进行比较,大的往前移动
对N-1个元素进行排序,相邻两个数值进行比较,大的往前移动
对N-2个元素进行排序,相邻两个数值进行比较,大的往前移动
。。。。。。周而复始,最终,lst变成一个有序的list
实际举例来说,有一个序列 5,4,2,1
第一次排序后 4 2 1 5
第二次排序后 2 1 4 5
第三次排序后 1 2 4 5
3、示例代码
#coding=utf-8
lst = [5,8,2,4,1,9,15]
def bubbleSort(lst):
for i in range(len(lst)-1):
for j in range(len(lst)-1-i):
if lst[j] > lst[j+1]:
lst[j],lst[j+1] = lst[j+1],lst[j]
return lst
print bubbleSort(lst)
程序分析
- 第一个for循环,控制排序的次数
- 第二个for循环,控制排序时的数据范围,已经有序的区域不需要再参与排序