#!/usr/bin/env python # encoding: utf-8 """ @author: zhanghe @software: PyCharm @file: sort.py @time: 2017/6/7 ä¸å9:48 """ def merge(left, right): i, j = 0, 0 result = [] while i < len(left) and j < len(right): if left[i] <= right[j]: result.append(left[i]) i += 1 else: result.append(right[j]) j += 1 result += left[i:] result += right[j:] print result return result def merge_sort(lists): print lists # å½å¹¶æåº if len(lists) <= 1: return lists num = len(lists) / 2 print 'å·¦ å', left = merge_sort(lists[:num]) print 'å³ å', right = merge_sort(lists[num:]) print '\tæ²»', return merge(left, right) if __name__ == '__main__': a = [7, 2, 4, 7, 9, 3, 5, 7, 8, 1, 3, 60, 4, 2, 6] print merge_sort(a) """ """