# -*- coding: UTF-8 -*-
# @Time : 2019/1/7 14:20
# @Author : lihongwei@integritytech.com.cn
# @Site :
# @File : merge_sort.py
# @Software : PyCharm
def MergeSort(lists):
print "hhh", lists
if len(lists) <= 1:
return lists
num = int(len(lists) / 2)
left = MergeSort(lists[:num])
right = MergeSort(lists[num:])
resutl = Merge(left, right)
print "resutl:", resutl
return resutl
def Merge(left, right):
print "left:", left, "\nright:", right
r, l = 0, 0
result = []
while l < len(left) and r < len(right):
if left[l] < right[r]:
result.append(left[l])
l += 1
else:
result.append(right[r])
r += 1
result += right[r:]
result += left[l:]
return result
if __name__ == "__main__":
list1 = [3, 2, 5, 8, 6, 1]
print(MergeSort(list1))
二叉树
最新推荐文章于 2024-07-29 08:47:18 发布