两个栈实现一个队列以及两个队列实现一个栈

1、用两个队列实现一个栈?

两个队列添加元素,哪个队列为空,由于在输出数据时,要进行相应元素的移动(除去尾部元素),所以要在对应不为空的队列进行元素的添加,所以要在对应不为空的队列进行元素的添加;在输出元素时,要进行两个队列的变化操作,不为空的队列要依次向为空的队列中添加元素,直到尾元素输出即可

2、用两个栈实现一个队列?

一个栈只负责添加元素,第二个栈在弹出元素时,首先判断当前栈是否为空,若为空就直接将其中第一个栈中的数据全部压入第二个栈,然后输出栈顶元素,即可实现队列效果。

猜你喜欢

转载自blog.csdn.net/sinat_36722750/article/details/82319170