数据结构(王道)——线性表的存储结构之循环表

一、循环单链表

定义:

循环单链表代码实现

创建并初始化、判断循环单链表是否为空、判断结点p是否为循环单链表的表尾结点的代码操作。

二、循环双链表

定义:

循环双链表代码实现

创建并初始化、判断循环双链表是否为空、判断结点p是否为循环双链表的表尾结点的代码操作。

普通双链表和循环双链表插入的区别:

普通双链表用以下代码实现插入的时候,如果插入的结点是最后一个结点,则会出错,因为最后一个结点的后驱是空,没有前项指针。但是循环双链表则适用这种插入方式。

循环双链表的删除:

同上述普通双链表和循环双链表的插入操作中的错误一样。下列代码在循环双链表当中是可以适用的。

总结:

相关推荐
淡海水7 小时前
08-03-不可变-ImmutableDictionary-TKey-TValue-与ImmutableHashSet-T-持久化哈希树
数据结构·算法·c#·哈希算法·dictionary·immutable
Nil20810 小时前
leetcode 78子集
数据结构·算法·leetcode
喜欢吃燃面11 小时前
深入 C++ STL:从 unordered_set与unordered_map到底层哈希表的原理与实现
数据结构·c++·散列表
en.en..11 小时前
Linux fork() 工作原理
数据结构·算法
不会就选b13 小时前
数据结构之树&&二叉树(二)
数据结构·算法
小刘在重生~15 小时前
Java 集合|Collection、List、ArrayList、LinkedList、泛型、Collections 工具类
java·数据结构·list
我不会起名字32216 小时前
一天一道算法题(29):单调栈
java·数据结构·python·算法·leetcode·golang·单调栈
苦瓜小生16 小时前
【前端】【力扣与手撕】十天带你刷完前端算法与手撕,全是最简单好记的最优解法!day4
前端·数据结构·算法·leetcode·面试
少司府17 小时前
C++进阶:智能指针
开发语言·数据结构·c++·b树·算法·c·智能指针
LuminousCPP18 小时前
数据结构-排序(一):基础排序算法横向对比|冒泡、插入、希尔、堆与双向选择,详解二分 / Knuth 增量
c语言·数据结构·笔记·算法·排序算法