前面学习了链表,其存储结构如图 1 所示:
图 1 链表存储结构
类似图 1 这样的链表,又被称为 "动态链表"。
随后又接触了静态链表。同样是存储图 1 中的数据 {1,2,3}
,使用静态链表存储数据的状态如图 2 所示:
图 2 静态链表存储数据示意图
为了让读者分清动态链表和静态链表,本节来分析一下它们之间的区别和联系。
静态链表和动态链表的共同点是,数据之间"一对一"的逻辑关系都是依靠指针(静态链表中称"游标")来维系,仅此而已。
静态链表
使用静态链表存储数据,需要预先申请足够大的一整块内存空间,也就是说,静态链表存储数据元素的个数从其创建的那一刻就已经确定,后期无法更改。
比如,如果创建静态链表时只申请存储 10 个数据元素的空间,那么在使用静态链表时,数据的存储个数就不能超过 10 个。
不仅如此,静态链表是在固定