冒泡排序
今天研究冒泡排序,按照网上的逻辑,自己先写了一次代码
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)