做一个豁达而努力的自己。
静态链表的定义:用数组来代替指针数组元素,由data和cur组成,data为数据域,cur代替next指针存放的是下一个后继节点的下标,称cur为游标,用数组描述的链表成为静态链表。
顺序表的静态链表存储结构:
#define MAXSIZE 1000
typedef struct Node //这里必须加结构体名称,不加的话只能在主函数声明一个结构体数组,不能在其它函数参数里声明
{
ElemType data;
int cur;
}StaticLinkList[MAXSIZE];
要点:数组的第一个元素和最后一个元素作为特殊元素处理,不存放数据;我们把未使用过的元素称为备用链表;数组第一个元素的cur存放的则是备用链表第一个节点的下标,最后一个元素则存放的是第一个有数值元素的下标,相当于头结点。
静态链表的优缺点:优点是在插入和删除时,自己只需要修改游标,,,缺点是没能解决连续分配空间带来表长难确定,失去了随机存取的特性。
代码:
#include <iostream>
#include <cstdlib