归并:
// A是数组,n是数组大小
merge_sort(A, n){
merge_sort_c(A, 0, n - 1)
}
// 递归调用函数
merge_sort_c(A, p, r) {
// 递归终止条件
if (p >= r) return
// 取p到r之间的中间位置mid
mid = (p + r) / 2
// 分治递归
merge_sort_c(A, p, mid)
merge_sort_c(mid + 1, r)
// 合并
merge(A[p, ... mid], A[mid + 1, ...r])
}