使用linkedlist的Java队列
我正忙于一项任务。目标是使用链表填充队列实现中的空格并写入输出。所有带星星的代码(****代码****)都是我填的空白,其中一些很可能填错了,我不完全理解为什么 如果有人能给我指出正确的方向,修正代码或解释我填错了什么以及为什么,我将不胜感激 谢谢,, 提米 编辑:请在链接中找到随附的作业 控制台输出是什么? 1. _____ 2. _____使用linkedlist的Java队列,java,spring,linked-list,queue,Java,Spring,Linked List,Queue,我正忙于一项任务。目标是使用链表填充队列实现中的空格并写入输出。所有带星星的代码(****代码****)都是我填的空白,其中一些很可能填错了,我不完全理解为什么 如果有人能给我指出正确的方向,修正代码或解释我填错了什么以及为什么,我将不胜感激 谢谢,, 提米 编辑:请在链接中找到随附的作业 控制台输出是什么? 1. _____ 2. _____ 3. _____ 我可以指出的几个错误是: 1) head=**num**->head=**温度** 因为您将头部指向插入的最新值 2) if(*
3. _____ 我可以指出的几个错误是: 1)
head=**num**代码>->head=**温度**代码>
因为您将头部指向插入的最新值
2) if(**num**==null)
->if(**head**==null)
必须检查节点对象是否为null
3) 返回节点。**next**
->返回节点。**num**
由于返回类型为double
,因此需要返回对象内部的数字
4) double ret=aux.next.*num**代码>->double ret=node.next.**num**代码>
同样,您必须返回被推到队列中的第一个元素
以下代码的输出将为:
172315
它编译吗?它跑吗?有错误消息吗?我不记得见过这样声明的类???我忘了把你的解释读得更深一点。那么,您是否正在尝试构建一个链接列表?为什么在抛出new**QueueEmptyException**()
之后打开一个代码块?您添加了一些与赋值相矛盾的位。你应该把它们拿出来。
public class DoubleQueue {
public class QueueEmptyException extends RuntimeException{};
private **class** Node{
double num;
Node next = null;
Node (**double** num) {**this**.num = **num**;}
}
private Node head = null;
public void push(double num){
Node tmp = **new** Node(**num**);
tmp.**next** = head;
head = **num**;
}
public double pop() throws QueueEmptyException {
if (**num** == null) throw new **QueueEmptyException**(){
Node node = head;
if(node.next == null){
head = null;
return node.**next**;
}
while (node.next.**next** != null)
**node** = **node**.next;
}
double ret = aux.next.**next**;
aux.next=null;
return ret;
}
}
DoubleQueue queue = new DoubleQueue();
queue.push(17);
queue.push(23);
queue.push(15);
System.out.println(queue.pop());
System.out.println(queue.pop());
System.out.println(queue.pop());