冒泡排序

今天研究冒泡排序,按照网上的逻辑,自己先写了一次代码

 

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*- 
 3 # Author: loovelj
 4 # date:2017/5/25  13:37
 5 # 冒泡排序
 6 
 7 lists = [4, 2, 1, 7, 3, 5]
 8 temp = 0
 9 j=len(lists)
10 while j>0:
11     for i in range(1, j):
12         temp = lists[i]
13         if lists[i - 1] > lists[i]:
14             lists[i] = lists[i - 1]
15             lists[i - 1] = temp
16     j=j-1
17 print lists

冒泡排序目前感觉和插入排序相反,他是开始把最大的往后放。不像插入排序认死理,一定要把某个数放在合适的地方。他是不分哪个数,就是先比较

后交换,最后自然而然的最大的就放在了最后

同样,对于倒序的数据,需要n(n-1)/2  所以时间复杂度为O(n^2)

posted @ 2017-05-25 14:08  loovelj  Views(114)  Comments(0Edit  收藏  举报