静态链表

静态链表
WhYqZz静态链表的定义
用数组的方式实现的链表
- 优点:增删操作不需要移动大量数据
- 缺点:不能做到随机存取;容量固定
- 适用场景:
- 不支持指针的低级语言
- 数据元素数量固定不变的场景(如操作系统的文件分配表FAT)另一种写法
1
2
3
4
5
6
7
8
typedef struct Node{
int data;
int next;
}
void TestSLinkList(){
struct Node a[MAXSIZE];
}1
2
3
4
5
6
7
8
typedef struct Node{
int data;
int next;
}SLinkList[MAXSIZE];
void TestSLinkList(){
SLinkList a;
}
静态链表的初始化
将头结点的next修改为-1,将空结点的next修改为-2
静态链表的查找
从头结点开始挨个查找
静态链表的插入
插入位序为i的位置
- 找到空的结点,存入新的数据
- 找到第i-1的结点
- 修改第i个结点的next值
- 修改第i-1个结点的next值
静态链表的删除
- 从头结点开始挨个寻找前驱结点
- 修改前驱节点的next值
- 修改被删除结点的next值为-2
知识总览
评论
匿名评论隐私政策