1
我们对两个数组或链接列表进行合并排序如何为两个以上链接列表编写合并部分? 请帮助我谢谢合并排序中的合并部分
我们对两个数组或链接列表进行合并排序如何为两个以上链接列表编写合并部分? 请帮助我谢谢合并排序中的合并部分
要么一次合并两个结果,要么将结果与第三个合并,要么改变合并逻辑以从所有三个列表中取最小元素。
递归地将数组集合分成需要合并的两组数组。当该集合只包含一个数组时返回它。使用标准合并排序合并来自每次调用的结果列表。
array merge(list_of_arrays)
{
if (sizeof(list_of_arrays) == 1)
return list
else
return mergesort(merge(first_half(list_of_arrays)), merge(second_half(list_of_arrays)))
}
临时内存会发生什么情况? – user355002 2010-06-26 15:20:52
@matin - 不确定你的意思。唯一可观的额外内存是标准mergesort,否则你只是分解你正在合并的数组。 – tvanfosson 2010-06-26 19:51:05