6、数据结构——简单的线性表——静态链表(五)

静态链表定义

​ 分配一整片连续的内存空间,各个结点集中安置。

​ 每个数据元素4B,每个游标4B(每个结点共8B),现在假设初始存放地址为addr,e1的存放地址为addr + 8 * 2

image-20240215173626402

结构体定义 + 基本操作概述

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#define MaxSize 10;
typedef struct Node {
ElemType data;
int next;
}SLinkList[MaxSize];

// 等价于

struct Node {
ElemType data;
int next;
}SLinkList[MaxSize];

// 其他基本操作:插入、查找......
// 静态链表的初始化:把 a[0] 的 next 设置为 -1,同时可以将其所有空间各个元素赋值为-2(这是个特殊的数,其他值也可以)
// 删除的时候,需要记得,给删除结点位置设置为 -2
image-20240215174637510

回头看看对于各种链表的初始化、插入、删除等操作是否可以自己马上手动将代码写出来实现,如果可以,恭喜你,你可以看下一节内容了……( * ^ ▽ ^ * )( * ^ ▽ ^ * )