关注到 stack 本身的函数:
pop()移除栈顶元素
push() 将元素入栈 (在栈顶增加元素)
top() 返回栈顶的元素
size() 求栈中元素数量
empty()判断栈中是否为空 为空则是true
先进后出(FILO)
而队列是先进先出
假设我们用A栈B栈 去模拟一个队列
1、模拟入队
入队的操作,也就类似于入栈的操作。
首先将元素逐一压在A栈,直接push()
2、模拟出队
出队的元素是要将先压入栈的元素出去,而此时先压入栈的元素在栈底。故要借用B栈去做过度。
将A栈的所有元素依次压入B栈,就实现了将A栈的元素顺序逆序了。此时A栈中在栈底的元素就在B栈的顶端了。
( top()返回一个A栈的顶端元素, push()向B栈输入该元素, pop()再删除该元素 )
最后再讲B栈的栈顶元素进行返回删除,完成模拟出对