1有些高级语言中没有“指针”數据类型,只能用数组来模拟线性链表的结构数组元素中的指针“域”存放的不是元素在内存中的真实地址,而是在数组中的位置这樣的链表
2,静态链表是用数组实现的是顺序的存储结构,在物理地址上是连续的而且需要预先分配大小。动态链表是用申请内存函数(C是malloc,C++是new)动态申请内存的所以在链表的长度上没有限制。动态链表因为是动态申请内存的所以每个节点的物理地址不连续,要通过指針来顺序访问静态链表在插入、删除时也是通过修改指针域来实现的,与动态链表没有什么分别(动态链表还需要删除内存)
3,静态鏈表:把线性表的元素存放在数组的单元中(不一定按逻辑顺序连续存放)每个单元不仅存放元素本身 ,而且还要存放其后继元素所在嘚数组单元的下标(游标)
线性表的静态单链表存储结构 :
4,静态链表在实现时需要记录已存数据的头指针,我是在数组的第2个位子用來存放数据域表示已存的数据个数,伪指针域用来存放头指针另外还把数组第一个元素用来作为记录备用静态链表的头结点,数据域鈈存伪指针域存放未用空间的头指针。
这是用来定义结构体数组