#!/usr/bin/env python3
# -*- coding: utf-8 -*-
def MERGE(left, right):
i = 0
j = 0
res = []
while (i < len(left) and j < len(right)):
if left[i] < right[j]:
res.append(left[i])
i += 1
else:
res.append(right[j])
j += 1
res += left[i:] + right[j:]
return res
def MERGE_SORT(A):
print(A)
if (len(A) <= 1):
return A
mid = len(A) // 2
left = MERGE_SORT(A[:mid])
right = MERGE_SORT(A[mid:])
return MERGE(left, right)
if __name__ == '__main__':
A = [5, 4, 6, 9, 12, 35, 34, 32, 11, 23, 21, 14, 3, 8]
print(MERGE_SORT(A))
歸併排序實現(python)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.