1. 带头结点的列表相比没有头结点的标准实现,好处在于?
这种伪首节点叫头结点。简化了删除和插入操作,原先的标准实现必须考虑头结点的特殊性(没有前驱),在链表开头插入和删除头结点都要独立考虑,在代码中需要判断节点是不是头结点,增加了复杂度。而增加了头结点的链表,真正的头结点插入和删除和其余节点无区别,代码是一套。
2. 带头结点的链表判空条件是
head->next == null;
3. 不带头结点的链表判空条件是
first == null
4. 循环链表是最后一个节点指向第一个节点的链表。要注意当插入空链表时,头结点的next指针指向了自己。
5. 循环链表判空条件
first == null