【发布时间】:2017-10-02 20:01:08
【问题描述】:
最近我在java中阅读了一个enqueue的实现,并且对其中几行的含义感到非常困惑。
public void enqueue(String item) {
Node oldlast = last;
last = new Node();
last.item = item;
last.next = null;
if (isEmpty())
first = last;
else
oldlast.next = last;
}
我很困惑,既然 oldlast 仅在这种方法中创建,为什么我们要在 else 之后声明“oldlast.next=last”?用完方法会被销毁吧?
另外,如果我们只在 first 为空时添加 last 到 first ,如果我添加两个节点然后删除两个节点会不会有问题?由于第一个节点只添加了一个,我想删除两个会不会有异常?
【问题讨论】:
标签: java linked-list queue