一:定义

二:循环单链表

2.1 初始化代码

typedef struct LNode{//定义单链表结点类型ElemType data;//每个节点存放一个数据元素struct LNode *next;//指针指向下一个节点
}LNode, *LinkList;//初始化一个循环单链表
bool InitList(LinkList &L){L = (LNode *)malloc(sizeof(LNode));//分配一个头结点if(L==NULL)//内存不足,分配失败return false;L->next = L;//头结点next指向头结点return true;
}

2.2 判断循环单链表是否为空

//判断循环单链表是否为空
bool Empty(Linklist L){if(L->next==L)return true;elsereturn false;
}

2.3 判断结点p是否为循环单链表的表尾结点

//判断结点p是否为循环单链表的表尾结点
bool isTail(LinkList L, LNode *p){if(p->next==L)return true;elsereturn false;
}

2.4 其他

三:循环双链表

3.1 初始化代码

typedef struct LNode{//定义单链表结点类型ElemType data;//每个节点存放一个数据元素struct LNode *next;//指针指向下一个节点
}LNode, *LinkList;//初始化空的循环双链表
bool InitDLinkList(DLinklist &L){L = (DNode *)malloc(sizeof(DNode));//分配一个头结点if(L==NULL)//内存不足,分配失败return false;L->prior = L;//头结点的prior指向头结点L->next = L;//头结点的next指向头结点return true;
}
void testDLinkList(){//初始化循环双链表DLinklist L;InitDLinkList(L);// ...后续代码...
}

3.2 判断循环双链表是否为空

//判断循环双链表是否为空
bool Empty(Dlinklist L){if(L->next == L)return true;elsereturn false;
}

3.3 判断结点p是否为循环双链表的表尾结点

//判断结点p是否为循环双链表的表尾结点
bool isTail(DLinklist L, DNode *p){if(p->next == L)return true;elsereturn false;
}

3.4 双链表的插入

//在p结点之后插入s结点
bool InsertNextDNode(DNode *p, DNode *s){s->next = p->next;//将结点*s插入到结点*p之后p->next->prior = s;p->prior = p;p->next = s;
}

3. 5 双链表的删除

//删除p的后继结点q
p->next=q->next;
q->next->prior=p;
free(q);
```![在这里插入图片描述](https://img-blog.csdnimg.cn/2049dbcc3f6e4762800160ec4bb39e96.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAP2FiYyE=,size_20,color_FFFFFF,t_70,g_se,x_16)
# 四:知识回顾与重要老点
![在这里插入图片描述](https://img-blog.csdnimg.cn/c1af1c91213a4db3a95dc2074de0c9ae.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAP2FiYyE=,size_20,color_FFFFFF,t_70,g_se,x_16)

脚踏实地《数据结构第二章》第五节:循环链表相关推荐

  1. 脚踏实地《数据结构第二章》第一节:线性表的定义和基本操作

    考点分析 一:线性表的定义(数据结构三要素–逻辑结构) 定义:线性表是具有相同数据类型的n(n>0)个数据元素的有限序列,其中n为表长,当n=0时线性表是一个空表. 相同:每个数据元素所占空间一 ...

  2. 全栈工程师之路-中级篇之小程序开发-第二章第五节小程序中的Promise

    上一节课最后,我们遇到了一个警告. 说我们太过频繁的调用serData了,因为我们这个页面的三部分数据是通过三个接口获取的. 所以我们分别在三个接口返回的时候调用了数据绑定. 但是过于频繁的调用set ...

  3. 数据结构-第二章(5)-链式存储结构

    数据结构 ⚡️数据结构-第一章 ⚡️抽象数据类型案例 ⚡️数据结构-第二章(1)-线性结构 ⚡️数据结构-第二章(2)-线性表的顺序表示和实现 ⚡️数据结构-第二章(3)-顺序表(含代码) ⚡️数据结 ...

  4. 谈谈在计算机系统中引入操作系统,初中信息技术第一册第二章第1节《操作系统简介》教学设计...

    广州市初中信息技术第一册第二章第1节<操作系统简介>教学设计 一.学习者分析 学生通过第一章的学习,对计算机的软.硬件知识有了初步的了解,同时对操作系统的作用也有了简单的认识.但由于学生普 ...

  5. 数据结构第二章学习总结

    数据结构第二章学习总结 在数据结构第二章,我们学习了线性表的两种结构顺序和链式结构,学习了他们的定义,不同,存储结构和逻辑结构,还有一些基本的操作. 在学习过程中,我发现了许多问题:①书上的大多数代码 ...

  6. 传热学环肋肋效率matlab程序,传热学 第二章第四节 通过肋片的导热.pdf

    传热学 第二章第四节 通过肋片的导热 第四节 通过肋片的导热 第二章 导热基本定律及稳态导热 传热 学 第一节 导热基本定律 (Heat Transfer ) 第二节 导热微分方程式 (Heat Tr ...

  7. 第二章 第四节:替换和切割

    Python基础入门(全套保姆级教程) 第二章 第四节:替换和切割 strip() 去掉字符串左右两端的空白符(空格, \t, \n) s = " 你好, 我叫 周杰伦 " s1 ...

  8. (数据库系统概论|王珊)第二章关系数据库-第一节:关系数据结构及其形式化定义

    文章目录 一:关系 (1)域 (2)笛卡尔积 (3)关系 A:基本概述 B:码相关概念 C:关系的三种类型 二:关系模式 三:关系数据库 (1)基本概念 (2)关系数据库的型与值 前面说过,数据模型由 ...

  9. 【重识云原生】第二章计算第一节——计算虚拟化技术总述

    云平台计算领域知识地图: ​ 楔子:计算虚拟化技术算是云计算技术的擎天之柱,其前两代技术的演进一直引领着云计算的发展,即便到了云原生时代,其作用依然举足轻重. 一.计算虚拟化技术总述 1.1 虚拟化技 ...

  10. C语言数据结构-第二章线性表-电大

    第二章线性表--内容简介 本章将进入线性结构的学习. 线性结构是最简单.最常用的一种数据结构. 本章将学习线性表的定义.顺序和链式两种存储方式及相应存储结构上的运算实现.通过典型示例训练,掌握线性表的 ...

最新文章

  1. 互联网协议 — RIP 路由信息协议
  2. vs矩形框边框线显示被选中的区域;_如何使用OpenCV可视化的截取感兴趣区域
  3. mysql text 独立表,当您在MySQL或PostgreSQL中拥有TEXT字段时,是否应该将其放在单独的表中?...
  4. 自定义ViewGroup (2)支持滑动,并处理多指触摸可能产生的跳动问题
  5. java递推_【Java】递归递推的应用
  6. 【转】MySQL 复制的基本过程如下:
  7. 25.Yii2 自动加载
  8. 近3年专著类计算机参考文献,参考文献著作类
  9. kali linux启动盘工具,白话kali linux USB启动盘的制作(快捷版)
  10. 实用技巧 teamviewer高清显示
  11. property 理解
  12. 新闻接口调用之新浪滚动新闻
  13. 7-4 求奇数和 (15 分)
  14. 检验特殊字符java_java中文及特殊字符的校验方法
  15. 血与泪的教训: JavaWeb中文乱码问题整合
  16. 信息熵与压缩编码基础
  17. linux 文件系统被占用,解决umount的时候文件系统被占用的两个命令 fuser 和 lsof
  18. 2022年数维杯国际赛ABCD题思路
  19. hutool 读取扩展名文件_Python OpenCV视觉智能感知第一讲——读取摄像头或视频文件并播放显示...
  20. 质量管理之质量门禁的建设

热门文章

  1. oracle中sql的递归查询运用
  2. 基于android端计步器软件的尝试
  3. 【Minecraft开服教程】使用 MCSM 面板一键搭建我的世界服务器,并内网穿透公网远程联机
  4. Echarts 双柱状图+折线图合并---实现效果详解(vue+Echarts实现)
  5. Switch模拟器调研
  6. vscode代码自动保存插件_VSCode 云同步扩展设置 Settings Sync 插件
  7. 程序员办公桌都如此霸气,网友:砖头当杯垫也是不敢惹!
  8. 微信小程序开发需要的相关技术
  9. html中制作banner,css banner轮播图怎么做?
  10. 看我如何快速拿下整个C段主机权限