浅谈特殊的链表

静态链表

静态链表是在不设“指针”类型的高级程序设计语言中使用的链表结构。

//----静态链表的存储结构----
#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;
发布了113 篇原创文章 · 获赞 103 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Deep___Learning/article/details/103956672