C++数据结构第29课、循环链表的实现

1、什么是循环链表

— 概念上:
1、任何数据元素都有一个前驱和一个后继
2、所有的数据元素的关系构成一个逻辑的环

— 实现上:
1、循环链表是一种特殊的单链表
2、尾结点的指针域保存了首结点的地址

2、循环链表的逻辑构成

C++数据结构第29课、循环链表的实现
3、循环链表的继承层次结构

C++数据结构第29课、循环链表的实现
4、循环链表的实现思路

C++数据结构第29课、循环链表的实现

5、循环链表的实现要点

— 插入位置为 0 时:
C++数据结构第29课、循环链表的实现

— 删除位置为 0 时:
C++数据结构第29课、循环链表的实现

6、循环链表的应用

— 约瑟夫环问题
C++数据结构第29课、循环链表的实现

  • 小故事
    C++数据结构第29课、循环链表的实现

  • 小结
    — 循环链表是一种特殊的单链表
    — 尾结点的指针域保存了首结点的地址
    — 特殊处理首元素的插入操作和删除操作
    重新实现清空操作和遍历操作