我的任务是将linkedList实现为队列。我在列表尾部添加元素时遇到了问题。我没有得到异常,但问题是添加元素后列表仍然为空,我真的没有看到问题。有人有解决方案吗?:)
@Override
public void add(E element) {
if(element == null){
throw new NullPointerException();
}else{
this.addNodeLastInQueue(element);
}
}
public void addNodeLastInQueue(E element){
MyNode<E> nodeToBeAdded = new MyNode<E>(element);
if(isEmpty()){
head = nodeToBeAdded;
tail = nodeToBeAdded;//Osäker om denna behövs
}else{
tail.setNext(nodeToBeAdded);
tail = nodeToBeAdded;
}
}
我已经尝试了我能想到的一切
2条答案
按热度按时间hgtggwj01#
rryofs0p2#
根据定义,当你在队列中添加一个元素时,它会自动出现在列表的末尾(参见FIFO),所以你不需要调用方法“addNodeLastInQueue”,最好的做法是调用它“enqueue”。
这里的方法:
提示:我建议你实现一个helper链表静态类,以便为队列提供Node属性。事实上,我在我的方法中使用了它。
希望我能帮上忙。再见!