Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用java实现单栈队列_Java_Data Structures_Stack_Queue - Fatal编程技术网

用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);
...