使用java栈实现队列
时间: 2024-05-16 17:14:29 浏览: 114
想要使用Java栈实现队列,可以使用两个栈来模拟队列的操作,一个栈作为输入栈,一个栈作为输出栈。具体实现如下:
1. 定义两个栈inputStack和outputStack,用于模拟队列的操作。
2. 入队操作时,将元素压入inputStack栈中。
3. 出队操作时,若outputStack不为空,则弹出outputStack栈顶元素;否则,将inputStack中所有元素依次弹出并压入outputStack栈中,然后再弹出outputStack栈顶元素。
下面是Java代码实现:
```
import java.util.Stack;
public class MyQueue {
private Stack<Integer> inputStack;
private Stack<Integer> outputStack;
public MyQueue() {
inputStack = new Stack<>();
outputStack = new Stack<>();
}
public void push(int x) {
inputStack.push(x);
}
public int pop() {
if (outputStack.isEmpty()) {
while (!inputStack.isEmpty()) {
outputStack.push(inputStack.pop());
}
}
return outputStack.pop();
}
public int peek() {
if (outputStack.isEmpty()) {
while (!inputStack.isEmpty()) {
outputStack.push(inputStack.pop());
}
}
return outputStack.peek();
}
public boolean empty() {
return inputStack.isEmpty() && outputStack.isEmpty();
}
}
```
这样就可以使用Java栈来实现队列了。
阅读全文