静态链表,循环链表,双循环链表

电脑杂谈  发布时间:2020-06-25 18:15:31  来源:网络整理

for循环 链表_循环队列 链表_双循环链表

由数组描述的链接列表称为静态链接列表;

数组的元素由数据和数据两部分组成双循环链表,数据存储数据; cur将元素的后继对象的下标存储在数组中(类似于单个链接列表中的下一个指针);

数据元素类似于以下结构

typedef struct{
ElemType data; 
int cur;
} Componet,StaticLinkList[MAXSIZE];

循环队列 链表_for循环 链表_双循环链表

如下所示;

初始链表

初始链接列表

插入操作

for循环 链表_双循环链表_循环队列 链表

插入操作

在B和D之间插入C;

1. 优势

2. 缺点

循环队列 链表_for循环 链表_双循环链表

将单链接列表中终端节点的指针端从空指针更改为指向头节点,以便整个单链接列表形成一个环. 这种具有首尾相连的单链表称为单个循环表. 称为循环链表;

在单链接列表的每个链接节点中

每个链表元素的结构类似于以下内容

typedef struct{
ElemType data;
struct DuLNode *prior   /* 直接前驱指针*/;
struct DuLNode  *next;  /*直接后驱指针 */
}DuLNode, *DuLinkList

双循环链表_循环队列 链表_for循环 链表

非空的循环带头结点的双向链表

带有前导节点的非空圆形双向链表

假设存储元素e的节点为s双循环链表,则应将节点s插入节点p和p-> next之间;

算法:

s->prior = p;  /*把p赋值给s的前驱*/
s->next = p->next; /*把p->next赋值给s->next*/
p->next->prior = s; /*将s赋值给p->next的前驱*/
p->next = s; /*将s赋值给p->next*/


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-258148-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...