# 对数组 A 的区间 [l, r) 进行合并排序
mergeSort(A, l, r):
    if l+1 < r:
        m ← (l+r)/2
        mergeSort(A, l, m)
        mergeSort(A, m, r)
        merge(A, l, m, r)

	     
# 对有 N 个元素的整个数组 A 进行合并排序
A ← 输入的整数列
mergeSort(A, 0, N)