数据结构学习:静态链表
定义一个结构体,里面用来储存数据,和下一个数据的位置
相当于一个结构体数组,数组里面的元素的结构体
#define MaxSize 10 // 静态链表的最大长度
typedef struct
{
ElemType date; //静态链表的数据域
int next; //记录下一个元素的位置
}SLinkList[MaxSize];
SLinkList a; //定义a是一个静态链表, 相当于定义了一个长度为 MaxSize的Node型数组
初始化静态链表:
把 a[0] 的 next 设为 -1
把其他结点的 next 设为一个特殊值用来表示结点空闲,如 -2
查找:
从头结点出发挨个往后遍历结点
插入位序为 i 的结点:
①找到一个空的结点,存入数据元素
②从头结点出发找到位序为 i-1 的结点
③修改新结点的 next
④修改 i-1 号结点的 next
插入位序为 i 的结点:
①找到一个空的结点,存入数据元素
②从头结点出发找到位序为 i-1 的结点
③修改新结点的 next
④修改 i-1 号结点的 next