本文分享的实例主要是Python编程二分法实现冒泡算法+快速排序,具体如下。
冒泡算法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#-*- coding: UTF-8 -*- #冒泡排序 def func(lt): if type (lt).__name__ ! = 'list' and type (lt).__name__ ! = 'tuple' : return if type (lt).__name__ = = 'tuple' : return list (lt) for i in range ( 1 , len (lt) - 1 ): for j in range ( 1 , len (lt) - i): if lt[j] > lt[j + 1 ]: lt[j],lt[j + 1 ] = lt[j + 1 ],lt[j] return lt lt_01 = [ 2 , 34 , 5 , 14 , 7 , 28 ] print func(lt_01) |
=================================================
二分法:(通过函数递归调用实现)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
def func(lt = []): if type (lt).__name__ ! = 'list' and type (lt).__name__! = 'tuple' : return if type (lt).__name__ = = 'tuple' : return list (lt) if len (lt)< = 1 : return lt k = lt[ 0 ] lt_l = [] lt_r = [] lt_m = [] for i in lt: if i>k: lt_r.append(i) elif i<k: lt_l.append(i) else : lt_m.append(i) lt_l = func(lt_l) lt_r = func(lt_r) return lt_l + lt_m + lt_r a = [ 2 , 4 , 12 , 6 , 23 , 16 , 28 ] print func(a) |
总结
以上就是本文关于Python编程二分法实现冒泡算法+快速排序代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
原文链接:http://www.cnblogs.com/dvbbs2012/p/5039683.html