用java实现单栈队列
我正在尝试使用递归的单堆栈实现队列。但是我正在努力实现用java实现单栈队列,java,data-structures,stack,queue,Java,Data Structures,Stack,Queue,我正在尝试使用递归的单堆栈实现队列。但是我正在努力实现deQueue()方法。此方法必须返回队列中插入的第一个元素,它只是堆栈中的最后一个元素 下面的代码不适用于我。请更正并分享 public String deQueue() { return recursive(); } public String recursive() { String result1 = null; String data; if (stack.empty()) {
deQueue()
方法。此方法必须返回队列中插入的第一个元素,它只是堆栈中的最后一个元素
下面的代码不适用于我。请更正并分享
public String deQueue() {
return recursive();
}
public String recursive() {
String result1 = null;
String data;
if (stack.empty()) {
return null;
}
if (stack.count() ==1) {
result1 = stack.pop();
return result1;
}
data = stack.pop();
recursive();
stack.push(data);
return result1;
}
您的问题是,您忽略了recursive()的结果
您的问题是,您忽略了recursive()的结果
...
data = stack.pop();
result1 = recursive();
stack.push(data);
...