访问链表的时候,都是从头结点开始的,当你用完的时候也要回到头结点,这是通用的方法,如果不,有下列两种情况。
1.如果不返回呢,这个链表就无法用了,应为无法抓住一个节点,是无法顺藤摸瓜,找到其它元素了。
2.如果返回其它节点呢,如果是循环链表或者双向链表,这是可以访问的,虽然程序可读性不好,但要是单项链表呢,不返回头结点,后面的就无法再访问了,所以,统一下标准,都返回头结点,方便学习和使用。
追问
也就是说头结点是不固定的吗?只有有新插入和删除的元素链表位置就变了?
追答
按通用的做法,指向头结点的指针(即头指针)是固定的,头结点是不固定的,头结点不放元素,只放链表第一个结点的地址。
如果新插入或者删除的元素不是链表的第一个带元素的结点,,或者这个位置的结点,头结点就是固定的。
如果新插入一个结点到头结点的下一个结点,或者删除头结点的下一个结点,头结点中存放的指针就变了,头结点也就变了。
本文详细解析了链表数据结构中头结点的角色和作用,强调了无论进行何种操作,最终返回头结点的必要性。文章指出,头结点虽不存储实际数据,但保存了链表首个元素的地址,对于单链表而言,返回头结点是唯一遍历整个链表的方式。此外,讨论了当链表进行插入或删除操作时,头结点变化的条件。
251





