前言
要实现栈模拟队列。首先要了解队列的特点,对于队列在生活中并不少见,例 :在排队做核酸时,先来的人,先做核酸,后来的人后做。这就是队列的特点:先进先出(First In First Out)。而对于栈,只有栈顶不存在栈尾。所以要实现队列的模拟,则需要两个栈一个栈用来保存入队(in),另一个用来保存出队(out)。
一、模拟步骤
1.基本思想:
如图所示:创建两个栈分别为:(in、out) in用来保存入队的数据,out用来保存出队的数据。
栈的特性:先进后出(First in Last Out)
当需要保存数据时,首先判断out是否为空,若不为空:先要将out中的数据出栈保存至in中,再将新数据保存至in中;若为空:直接将数据保存至in中。当需要出队操作时,首先判断in中是否为空,若不为空:先将in中的数据出栈保存至out中,再出栈;若为空:直接出栈。
2.代码实现
主函数代码如下(示例):
MyQueue<String> queue = new MyQueue<>(