Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 合并排序和队列_C++_Unix_Stack_Queue_Mergesort - Fatal编程技术网

C++ 合并排序和队列

C++ 合并排序和队列,c++,unix,stack,queue,mergesort,C++,Unix,Stack,Queue,Mergesort,我正在写一份复习表,几乎什么都知道了,除了不确定这两个。需要帮忙吗 Q使用队列进行合并排序的好处是什么? 假设在mergesort中,我们用堆栈替换队列 (即推而不是排队,弹出而不是退队)。 解释此替换将产生什么影响。使用队列自动将内容添加到列表末尾;因此,当您到达mergesort递归(单个元素)的最低级别时,您的排序数组可以将这些元素中最大的排入新列表。使用堆栈应该反转列表,因为添加的所有元素都将放在前面,因此您必须搜索最小的元素,而不是最大的元素

我正在写一份复习表,几乎什么都知道了,除了不确定这两个。需要帮忙吗

Q使用队列进行合并排序的好处是什么? 假设在mergesort中,我们用堆栈替换队列 (即推而不是排队,弹出而不是退队)。
解释此替换将产生什么影响。

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