求问大佬:我想对这个动态链表与静态链表中的结构体根据year值进行排序 弄了好多次调试都过不了。代码如下

为什么静态链表的结构体中要再萣义一个header成员而不直接用node[0]?在静态链表的插入和删除操作中又要先把header赋值给node[0],过后又赋值回来(照片中红色部分标出)... 为什么静态链表的结构體中要再定义一个header成员而不直接用node[0]?
在静态链表的插入和删除操作中又要先把header赋值给node[0],过后又赋值回来(照片中红色部分标出)

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

你对这个回答的评价是

我要回帖

更多关于 动态链表 的文章

 

随机推荐