排序算法

#冒泡 时间复杂度 O(n**2)

#每次取出一个元素与前一个元素作比较, 将大的数放在后面

def MaoPao(lists):

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

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

lists[j],lists[j+1] = lists[j+1], lists[j] 

  return lists


# 快排 O(nlogn)

# 默认将序列中的第一个数作为基准值, 每次比较将大于基准值的元素放在基准值后面, 

# 小于基准值的元素放在基准值前面

def KuaiPai(lists):

         mid = lists[0]

         leight = [x for x in lists[1:] if x <= mid]

         right = [x for x in lists[1:] if x > mid] 

 return KuaiPai(leight) + [mid] + KuaiPai(right)

 

posted @ 2018-09-20 13:42  exchange<>  阅读(84)  评论(0编辑  收藏  举报