栈 栈我们知道是遵循:先进后出原则。那么要想删除最开始的那个元素,那么就得将所有后面放进去的元素都出栈。 队列 队列则不同,遵循先进先出原则,就像一个两端开口的水管,先进去就先从另一端出来。 双栈实现队列 从上我们可以知道,单单一个栈是完全不同于队列的,因为他们天生机理不同,或者说相反。相反!对,就是这个!那如果我们有两个栈呢?一个栈A将所有元素弹栈,依次放入另外一个栈B。那这个时候栈B的栈顶不就是刚刚最开始进入栈A的那个元素了吗!对栈B进行弹栈,不就实现了先进先出的功能了吗!原来如此简单!