当前位置:萝卜系统 > 硬件软件教程 > 详细页面

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

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

更新时间:2023-06-22 文章作者:未知 信息来源:网络 阅读次数:

根据运行的环境,操作系统可以分为桌面操作系统,手机操作系统,服务器操作系统,嵌入式操作系统等。

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*/


本文来自本站,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-258148-1.html



温馨提示:喜欢本站的话,请收藏一下本站!

本类教程下载

系统下载排行

网站地图xml | 网站地图html