那里之前也提出过类似的问题,但这里的问题恰恰相反,使用两个队列作为堆栈。问题是..。
给定两个具有标准操作(enqueue
、 dequeue
、 isempty
、 size
)的队列,实现一个具有标准操作(pop
、 push
、 isempty
、 size
)的堆栈。
应该有解决方案的 二版本。
- 版本 A: 在推送一个项目时,堆栈应该是有效的;
- 版本 B: 当弹出一个项目时,堆栈应该是有效的。
比起任何特定的语言实现,我对算法更感兴趣。然而,我欢迎用我熟悉的语言(爪哇咖啡,C # ,巨蟒,Vb,Javascript,我不知道)表达的解决方案。