给定两个支持 enqueue/push_back、dequeue/pop_front 和 size 操作的队列
Q1: A1 A2 A3
Q2: B1 B2 B3
Run Code Online (Sandbox Code Playgroud)
如何将它们合并到第三个队列(也支持相同的操作),获得:
Q3: A1 B1 A2 B2 A3 B3
Run Code Online (Sandbox Code Playgroud)
我对使用的算法更感兴趣,而不是任何特定的语言实现。
当两个队列都不为空时,从 A 中取出一个项目并将其放入 newQ 队列中。然后将一个项目从队列 B 中出队。如果其中一个队列(A 或 B)为空,则将另一个队列的其余部分出队并将每个元素放入 newQ 中。