静态链表
静态链表是在不设“指针”类型的高级程序设计语言中使用的链表结构。
//----静态链表的存储结构----
#define MAXSIZE 1000 //链表的最大长度
typedef struct{
ElemType data;
int cur;
}component, SLinkList[MAXSIZE];
优点:
在进行线性表的插入和删除操作时,不需要移动元素,仅需修改指针即可。
缺点:
这种存储结构仍需要预先分配一个较大的空间。
循环链表
循环链表是另一种形式的链式存储结构。它的特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环。因此,从表中任一结点出发均可找到表中的其他结点。
双向链表
顾名思义,在双向链表的结点中有两个指针域,其中一个指向直接后继,另一个指向直接前驱。
//----双向链表的存储结构----
typedef struct DuLNode {
ElemType data;
struct DuLNode * prior;
struct DuLNode * next;
}DuLNode, *DuLinkList;