def merge_sort(array):

    def merge_arr(arr_l, arr_r):

        array = []

        while len(arr_l) and len(arr_r):

            if arr_l[0] <= arr_r[0]:

                array.append(arr_l.pop(0))

            elif arr_l[0] > arr_r[0]:

                array.append(arr_r.pop(0))

        if len(arr_l) != 0:

            array += arr_l

        elif len(arr_r) != 0:

            array += arr_r

        return array

 

    def recursive(array):

        if len(array) == 1:

            return array

        mid = len(array) // 2

        arr_l = recursive(array[:mid])

        arr_r = recursive(array[mid:])

        return merge_arr(arr_l, arr_r)

 

    return recursive(array)
hlist = merge_sort([4,5,6,7,3,2,6,9,8])
  
print(hlist)

  

相关文章:

  • 2022-12-23
  • 2022-03-05
  • 2022-12-23
  • 2022-01-05
  • 2021-08-12
  • 2021-10-21
  • 2022-12-23
猜你喜欢
  • 2021-10-08
  • 2021-12-25
  • 2021-05-25
  • 2022-12-23
  • 2021-06-09
相关资源
相似解决方案