本文分享的实例主要是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