专题:栈
习题:用栈模拟队列
解题思想:比较简单,就是stin ,stout 两个栈,然后因为栈是先进后出,而队里是先进先出,所以我们用stin来模拟进队列,将进入的队列的数据都放进stin栈里面,而出栈的时候,我们查看stout栈里面是否为空,不为空的话直接出stout的头元素,如果为空的话就将stin里面的元素,插入到stout栈里面,然后再从stout栈里面输出,就满足了队列的特性,先进先出!!
代码实现:
习题:用队列模拟栈
解题思想:思想简单,但是要注意细节
两个队列模拟栈:因为队列先进先出而栈先进后出,所以我们用两个队列que1,que2,模拟,用que1进队列来模拟进栈,然后出栈的时候,先让que1队列里面的前n-1 个都让他们入队列que2,然后让que1的最后一个元素出队列,来模拟出栈。
代码实现:
一个队列模拟战: 很简单,把这个队列的前n-1个全部依次再次插入到队列的后面,并且每次都进行队列元素的出队列。然后最后把最后一个元素记录下来返回,但是要记住最后一个元素也要出队列。