python--归并排序

来源:互联网 发布:手机软件制作软件 编辑:程序博客网 时间:2024/05/16 09:00
***一直切分到只有2个元素的左右两边,然后对其进行排序合并,新生成的数组和其他切分的数据在进行排序合并。***def sortIntegers2(self,array):    array_len = len(array)    if array_len<2:        return array    mid = array_len//2    left = self.sortIntegers2(array[:mid])    right = self.sortIntegers2(array[mid:])    res = []    while len(left)>0 and len(right)>0:        if left[0]<right[0]:            res.append(left.pop(0))        else:            res.append(right.pop(0))    if len(left)>0:        res.extend(left)    else:        res.extend(right)    return res