mirror of
https://github.com/142vip/408CSFamily.git
synced 2026-04-04 02:58:30 +08:00
1.4 KiB
1.4 KiB
静态链表
借助数组来描述线性表的链式存储结构,结点元素同样存在数据域
data和指针域next
注意: 和普通的链表的指针域不同的是,静态链表的指针是结点元素的相对地址(数组下标),也称为游标,建议结合高级语言中数组的概念来理解;
与顺序表一样,虽然静态链表属于链表,但是存储时需要预先分配一块连续的内存空间
静态链表结构类型:
// 定义静态链表的最大长度
# define MaxSize 50
typedef struct{
ElemType data; // 存储数据元素,数据域
int next; // 下个元素的相对地址,数组下标
}SLinkList[MaxSize];
很显然,静态链表是通过数组游标来访问下一个结点元素,可以和指针域的相关概念结合理解;
- 静态链表以
next=-1作为结束的标志【尾结点】 - 和动态链表相同,插入、删除操作不需要移动元素,只需要修改指针;
- 总体来说,静态链表没有单链表使用方便,需要将整个链表存储在一块连续的内存空间中,内部的存储可以分散,通过指针构成
链的关系