一. 静态链表
在某些语言中指针是不被支持的,只能使用数组来模拟线性链表的结构.在数组中每个元素不但保存了当前元素的值,还保存了一个”伪指针域”,一般是int类型,用于指向下一个元素在数组中的下标.
这种链表在初始时必须分配足够的空间, 也就是空间大小是静态的, 在进行插入和删除时则不需要移动元素, 修改指针域即可,所以仍然具有链表的主要优点(快速插入和删除).
二.动态链表
编程语言支持指针时,则可按照我们的一般形式实现链表,即每个节点存放下一个节点的地址。 需要时分配,不需要时回收即可。
分析 :
静态链表结构 . 数组的零分量可看成头节点 .,这种结构仍然需要预先分配一个较大的空间 。 但在插入和删除的时候 , 不需要移动元素 , 仅需要修改指针 , 所以仍然具有链式存储结构的主要优点 。