# -*- coding: utf-8 -*-
#---------------------------------------
# ç¨åºï¼å½å¹¶æåº
# çæ¬ï¼
# ä½è
ï¼WuChong
# æ¥æï¼2014-02-08
# è¯è¨ï¼Python 3.3
# 说æï¼å½å¹¶çææ³å°±æ¯å
éå½åè§£ï¼ååå¹¶æ°ç»
#---------------------------------------
def merge_sort(ary):
if len(ary) <= 1 : return ary
num = int(len(ary)/2) #äºååè§£
left = merge_sort(ary[:num])
right = merge_sort(ary[num:])
return merge(left,right) #åå¹¶æ°ç»
def merge(left,right):
'''åå¹¶æä½ï¼
å°ä¸¤ä¸ªæåºæ°ç»left[]åright[]åå¹¶æä¸ä¸ªå¤§çæåºæ°ç»'''
l,r = 0,0 #leftä¸rightæ°ç»ç䏿 æé
result = []
while l