单链表(1)
作者:互联网
只含有一个地址域,将每个元素安排一个额外的位置,存储它的后继元素的存储地址,叫做指针域或者地址域。指针域中存储的信息也叫做指针或链。
头指针:一个指向第一个节点地址的指针变量。头指针具有标识单链表的作用,所以经常用头指针代表单链表的名字。
头节点:在单链表的第一个节点之前附设一个节点,它没有直接前驱,称之为头节点。头节点可不存信息,也可作为监视哨,或用于存放线性表的长度等附加信息。
首元节点:存储第一个节点。
为什么要附设一个头节点:
1. 链表为空的情况下,如果单链表没有头节点,那么头指针会指向NULL,如果加上头节点,无论单链表是否为空,头指针都会指向头节点,使得空链表与非空链表处理一致。
2. 使首元节点前插入或删除元素的时候,与后面操作相同,不需要产生额外的判断分支,使得算法更加简单。
在带头节点的情况下,在首元节点前插入或删除元素与其它位置的操作一致,只需要将前一个元素(这里是头节点)的指针指向插入元素,同时将插入元素的指针域指向原来的第二的元素。
在无头节点的情况下,首元节点前没有元素,只能通过修改head的前后关系,所以导致了与别的位置插入或删除元素的操作不同,在实现这两个功能的时候就需要额外的判断语句判断插入的位置是不是首元节点前的位置。
总结:头节点的存在使得空链表与非空链表处理一致,也方便对链表首元节点前节点的插入或删除操作。
标签:首元,元素,链表,单链,节点,指针 来源: https://blog.csdn.net/qq_43439520/article/details/120745821