合并排序和队列

时间:2013-08-07 16:33:50

标签: c++ unix stack queue mergesort

我在评论表上工作几乎得到了一切,除了不确定这两个。有什么帮助吗?

问:使用队列进行合并排序有什么好处? Q假设在mergesort中我们用堆栈替换队列 (即推入而不是入队,弹出代替出队)。 解释这个替代品会产生什么影响。

1 个答案:

答案 0 :(得分:0)

queues自动添加到列表末尾;因此,当您到达mergesort递归的最低级别(单个元素)时,您排序的数组只能将enqueue这些元素中的最大元素放入新列表中。使用stack应该反转您的列表,因为添加的所有元素都将放在前面,因此您必须基本上搜索最小元素而不是最大元素。