目录
1. 概念理解
<1>. 和单链表的区别
单链表:各个结点在内存中星罗棋布、散落天涯。每个结点包含 数据域 和 指针域, 指针域 指向下一结点的位置。
静态链表:分配一整片连续的空间,多个结点集中安置。 每个结点包含了 数据域 和 下一个结点的数组下标 ( 游标 ) 。 各个数据元素存放在这一整片连续空间中某个位置。
<2>. 细节说明
<1> 静态链表中数组下标为 0 的结点充当了 “头结点” 的作用,(也就是说该结点不存放实际的数据元素)。静态链表中的数组下标(游标)类似单链表中指针,只不过指针指明了具体的内存地址,而静态链表的游标只是指明了下一个元素的数组下标。
<2> 在单链表中,最后一个结点指针指向了 NULL, 而在静态链表中,最后一个结点的游标值设置为了 -1 。
<3> 静态链表中,存放各个节点的内存空间是连续的。所以,假设一个静态链表每个数据元素 占 4B, 每个游标占 4B,每个结点共 8B,又假设起始位置为 addr ,那么数组下标为 2 的存放地址为 (addr + 2*8) 。通过这样的方式就可以将静态链表的数组下标(游标)把它映射成某一个数组下标所对应节点的实际内存地址。
<