脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python编程二分法实现冒泡算法+快速排序代码示例

Python编程二分法实现冒泡算法+快速排序代码示例

2021-01-04 01:00醋溜板栗 Python

这篇文章主要介绍了Python编程二分法实现冒泡算法+快速排序代码示例,具有一定借鉴价值,需要的朋友可以参考下

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

延伸 · 阅读

精彩推荐