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操作