unixmindwangbj.blog.chinaunix.net
sigsegv11
全部博文(42)
2012年(5)
2011年(13)
2010年(6)
2009年(18)
xuanyuan
athzhang
71410538
lifupan
Hubble88
wangfeng
zy864167
feiyingz
朱树杨
Yicho
samy_mas
分类: LINUX
2009-11-29 21:10:30
def merge(A, B): C = [] la = len(A) lb = len(B) ln = la + lb j = 0 k = 0 for i in range(ln): if j >= la: C.append(B[k]) k += 1 continue; if k >= lb: C.append(A[j]) j += 1 continue; if A[j] > B[k]: C.append(B[k]) k += 1 else: C.append(A[j]) j += 1 return C def merge_sort(array): ln = len(array) mid = ln // 2 if ln <= 1: return array left = merge_sort(array[:mid]) right = merge_sort(array[mid:]) return merge(left, right) if __name__ == '__main__': import random L = [random.randrange(10, 99) for x in range(20)] print merge_sort(L)
上一篇:Behaviour of atexit under Linux
下一篇:24 point - python
登录 注册