栈和队列的相互实现--思路
两个栈实现一个队列:
思路:先将数据存到第一个栈里,再将第一个栈里的元素全部出栈到第二个栈,第二个栈出栈,即可达到先进先出
两个队列实现一个栈:
思路:先将数据存到第一个队列里面,然后数据出队一直出队到地二个队列里面,直到第一个队列里面剩余一个数据,这个时候出队 即可达到先进后出的特性
用1个栈实现一个队列。
思路:用递归的方法把数据从最底部移出来。
用1个队列实现一个栈。
思路:“队列栈”:用一个队列实现一个栈
出栈思路:
1.将队列的队头元素取出,保存在变量data中,然后Pop掉,再将data Push进队列
2.若队列有n个元素,则需要进行步骤1 n -1 次后,此时队头元素就为此队列最后进入的值