为什么静态链表的结构体中要再定义一个header成员,而不直接用node[0]? 在静态链表的插入

2025年03月18日 18:54
有1个网友回答
网友(1):

我的理解是为了逻辑上的解耦合吧,header是逻辑上的一个链表上的头,而node[0]是一个list里所有链表节点在存储结构上的第一个,链表并不要求存储空间上的连续,也不一定要从node[0]开始,这样定义的话,如果以后有需求比如每个链表元素从第二个【node1】开始作为头,那么只需要修改链表内部逻辑,把header和node1关联就可以了,外部对链表进行使用的地方,依然可以用header来获取链表的头节点,而不需要一一修改。