当前位置: 首页 > 工具软件 > pop2blog > 使用案例 >

两个栈实现队列的push pop

郎子平
2023-12-01

https://blog.csdn.net/ailunlee/article/details/85100514

(1) 使用两个栈A,B,其中假定A负责push操作,B负责pop操作。使用一个变量back_elem来存储最后添加的元素。

(2) 实现队列的push操作, 每次进行添加操作,都会相应得对栈A进行添加元素。并对back_elem赋值

(3) 实现队列的pop操作,每次进行删除操作,因为栈B负责pop操作,

首先判断栈B是否为空?

a.如果B为空,则判断A是否为空?

      如果A也为空,则输出错误信息,此时队列为空。

      如果A不为空,则将栈A中的所有数据存储到B中。执B.push(A.top()),   A.pop().   然后在对栈B执行,B.pop()操作,将队列的头元素删除

b.如果B不为空, 则直接对B执行 B.pop()操作。

       例如对a,b,c实现push操作,然后实现pop操作
 类似资料: