排序算法

1. 冒泡排序: 时间复杂度O(n**2)

def MaoPao(alist):

for i in range(len(alist)-1):

for j in range(len(alist)-i-1):

if alist[j] > alist[j+1]:

alist[j], alist[j+1] =  alist[j+1], alist[j] 

return alist 

2. 快速排序: 时间复杂度O(nlogn)

def KuaiSu(alist):

if len(alist)<2:
return alist

else:

mid = alist[0]

reight = [i for i in alist[1:] if i <= mid]

leight = [i for i in alist[1:] if i > mid]

return KuaiSu(reight)+[mid]+KuaiSu[leight]

  

原文地址:https://www.cnblogs.com/zxt-cn/p/9714876.html