https://programmercarl.com/0232.%E7%94%A8%E6%A0%88%E5%AE%9E%E7%8E%B0%E9%98%9F%E5%88%97.html#%E6%80%9D%E8%B7%AF
队列是先进先出
1,2,3,4 放入顺序 那么出的 是 1,2,3,4
栈是 1,2,3,4 放入顺序 那出的4,3,2,1
所有要用栈实现队列,就把顺序在用另外一个栈 ,就换了一个顺序,实现了队列 ,也就是先进先出
(先进后出 + 先进后出.变成了先进先出)
栈是先进后出 。 那么 用两个栈 可以实现队列的先进新出
stack_in 1,2,3,4
stack_out 最里面就是 1了。也就是变成 4,3,2,1
队列模拟栈有两种方法
1.两个队列, 也就是 从把第一个队列的元素拿出来,放到另外一个队列里面。然后从第二个队列里面取出元素,就实现了队列
2.一个队列的实现。 是将队列里面的元素取一个然后又加入到队列 的方式。用一个队列来实现栈(把最后一个元素前面的元素都弹出来)
网友评论