JZ5---用两个栈实现队列(转载)

题目

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

思路

前提需了解知识点:

  1. 栈是先进后出
  2. 队列是先进先出

  题目已经提供了,两个栈,那么我们可以利用栈的特性,对压栈,不做任何操作。但是在出栈的时候。我通过自己定义的第三个栈将栈压到第二个栈即可。
  通俗点说:因为压栈我们不做任何工作,利用栈的先进后出。那么我们完全可以,将第一个栈先导出压到第二个栈,通过第二个栈的出栈,不就变成了先进先出?前提要排除中途会加入数据,因为在出栈的时候,需要通过第三个栈对第二个栈进行清空,等第一个栈的数据处理结束之后,再还回去即可。

源代码

 

posted @ 2020-08-27 15:08  甜呀  阅读(90)  评论(0编辑  收藏  举报