【发布时间】:2021-01-20 17:44:42
【问题描述】:
我在网上找到了这段代码,并试图了解它是如何工作的。
public void insertFirst( int e )
{if(isEmpty())
{
head = trail = new DNode(e, null, null); //(data, prev, next)
}
else {
head.prev = new DNode(e, null, head);
head = head.prev;
}
size++;
}
在代码的第一部分,
if(isEmpty())
{
head = trail = new DNode(e, null, null); //(data, prev, next)
}
这意味着如果双向链表为空,则创建连接到prev null 和next null 的Node。然后将其设置为头和尾。
然后代码的第二部分是,
else {
head.prev = new DNode(e, null, head);
head = head.prev;
}
我真的不明白这在 else 语句中是如何工作的。
你能解释一下吗?
谢谢
【问题讨论】:
-
抱歉,这不是 Stack Overflow 的工作方式。这不是一个论坛或教程网站。请访问help center,接听tour 并阅读How to Ask。
-
哦,对不起。我只是stackoverflow的新手。谢谢你告诉我。
标签: java linked-list