为什么要返回链表头指针()

访问链表的时候,都是从头结点开始的,当你用完的时候也要回到头结点,这是通用的方法,如果不,有下列两种情况。
1.如果不返回呢,这个链表就无法用了,应为无法抓住一个节点,是无法顺藤摸瓜,找到其它元素了。
2.如果返回其它节点呢,如果是循环链表或者双向链表,这是可以访问的,虽然程序可读性不好,但要是单项链表呢,不返回头结点,后面的就无法再访问了,所以,统一下标准,都返回头结点,方便学习和使用。

追问

也就是说头结点是不固定的吗?只有有新插入和删除的元素链表位置就变了?

追答

按通用的做法,指向头结点的指针(即头指针)是固定的,头结点是不固定的,头结点不放元素,只放链表第一个结点的地址。
如果新插入或者删除的元素不是链表的第一个带元素的结点,,或者这个位置的结点,头结点就是固定的。
如果新插入一个结点到头结点的下一个结点,或者删除头结点的下一个结点,头结点中存放的指针就变了,头结点也就变了。

猜你喜欢

转载自blog.csdn.net/helloworld0906/article/details/83217463