目录
栈和队列的问题在面试中经常会被问到,本篇文章教大家如何用两个队列模拟一个栈出来。
先来讲一下栈和队列的基本特点
栈:先进后出,只能在栈顶进行操作。
如:向栈内输入1,2,3,4,5,那么输出则为5,4,3,2,1。就好像一个电梯,先进去的人后出来,进和出都是在末尾操作。
队列:先进先出,队尾插入,队头删除。
如:向队内输入1,2,3,4,5,那么输出也为1,2,3,4,5。把入栈出栈比做出入电梯的话,入队出队更像是在排队,来的晚的人只能排在队伍的末尾。
大体思路:
第一步:定义两个队列,队列1和队列2。
让所有数据入队列1,这里举例为1,2,3,4,5。
此时队列1的内容为1,2,3,4,5,队列2为空。
第二步:让数据出队列1,入队列2,使队列1只留下一个数据。
此时队列1的内容为5,队列2的内容为1,2,3,4
然后让队列1的内容出队并打印,此时队列1为空。