我正在尝试使用链接节点实现优先级队列,并且除了 add 方法之外,我的所有方法都可以正常工作。add 方法的目的是将一个可比较的对象以正确的顺序添加到队列中。队列的顺序如下:优先级最高的节点是firstNode。任何关于我在尝试中做错了什么的帮助将不胜感激。
public void add(T newEntry) {
if(newEntry == null) {
return;
}
if(isEmpty()) {
firstNode = new Node(newEntry);
} else {
Node currentNode = firstNode;
if(newEntry.compareTo(firstNode.data)<0) {
firstNode = new Node(newEntry, firstNode);
length++;
return;
} else {
while(currentNode.getNextNode() != null && newEntry.compareTo(currentNode.next.data) > 0) {
currentNode = currentNode.next;
currentNode.setNextNode(new Node(newEntry, currentNode.getNextNode()));
}
}
}
length++;
return;
}
米琪卡哇伊
相关分类