软考-软件设计师:数据结构-线性结构-线性表-单向循环链表 作者:马育民 • 2026-02-08 22:51 • 阅读:10000 # 介绍 **单向循环链表 = 普通单向链表 + 闭环改造**。 **单向链表**,**最后一个结点的指针** 是指向 `NULL`,如下图:  **单向循环链表**,是把 **最后一个结点的指针**,改成指向 **头结点**,形成一个闭环,如下图:  ### 特点 **无 `NULL` 结尾,尾结点指向头结点,从任意一个结点出发,都能遍历整个链表** ### 类比 - 普通单向链表像一条“直线跑道”,跑到头就停了 - 单向循环链表像 **学校操场**,是 **环形的**,跑一圈能回到起点,随便从哪个位置开始跑,都能跑完整个跑道。 # 分类 - 仅设尾指针的单向循环链表(无头结点) - 有头结点的单向循环链表 # 仅设尾指针的单向循环链表 有 **尾指针**、**没有头结点** 的单向循环链表 **尾指针**,指向 **尾结点** 的指针  ### 优点 - **仅需一个尾指针,即可定位头、尾节点**(无需头结点) - 所有节点都是存储数据的有效节点; - 首结点:尾结点的指针指向的结点 ### 头部插入节点时间复杂度 `O (1))`,尾结点指向新节点 ### 头部删除节点的时间复杂度 `O (1)`,尾节点的指针,跳过原节点,指向下一个节点 ### 尾部插入节点时间复杂度 `O(1)`,尾指针直接指向尾节点,仅需修改指针 ### 删除尾部节点时间复杂度 `O(n)`,单向链表无法反向找前驱,需遍历找尾节点的前一个节点 # 有头结点的单向循环链表  - 头结点的数据是空,指针指向首节点 - 最后一个有效节点的指针指向头结点(形成循环); ### 优点 空链表时,头结点的指针指向自己,无需单独判断指针是否指向`null` # 单向循环链表 vs 普通单向链表 区别: |对比项|普通单向链表|单向循环链表| |---|---|---| |结尾标志|尾结点指针指向 `NULL`|尾结点指针指向 头结点| |遍历结束条件|遇到 `NULL`| 指针指向头结点| |空表判断|头结点指针指向`NULL`|头结点指针指向头结点| |遍历起点|只能从头结点开始|任意结点均可遍历全表| |尾结点查找|需遍历到 `NULL` 前一个结点|找到某节点,该节点的指针指向头结点| # 操作 ### 初始化(创建空表) 创建头结点,让头结点的指针指向自己,形成空表。 ### 遍历链表 核心区别:普通单链表遍历到 `NULL` 结束,单向循环链表遍历到「回到头结点」结束。 易错点提醒:遍历起点不能是 `head`(头结点不存数据),必须是 `head->next`;忘记判断 `p == head` 会导致死循环(软考选择题常考错误选项)。 ### 尾插法建立单向循环链表 核心:每次插入新结点,都让新结点的 `next` 指向头结点,同时更新原尾结点的 `next` 指针,保持闭环。 ## 优缺点 ### 优点(核心3点) 1. 灵活性高:从**任意结点均可遍历整个链表**,无需从头开始; 2. 逻辑统一:无 `NULL` 结尾,空表、非空表、尾结点的判断逻辑一致,不易出错; 3. 适配环形场景:特别适合循环、轮询类需求(如操作系统时间片轮转、循环队列、任务轮询),软考常考应用场景选择题。 ### 缺点 1. 只能单向遍历:无法快速访问前驱结点,只能从当前结点向后遍历; 2. 易死循环:若遍历、插入、删除时,忘记判断“是否回到头结点”,容易导致死循环。 # 总结 最后整理了最核心的考点,浓缩成5句话,考前快速过一遍,避免踩坑: 1. 单向循环链表的核心:尾结点 `next` 指向头结点,形成闭环,无 `NULL` 结尾; 2. 空表判断(必考):`head->next == head`; 3. 遍历结束条件(必考):`p == head`; 4. 尾结点判断(必考):`p->next == head`; 5. 核心应用场景:循环队列、任务轮询、时间片轮转(选择题常考)。 ## 八、备考小提醒 单向循环链表的考点不难,但细节多,易错点主要集中在「判断条件」(空表、遍历结束、尾结点),大家备考时,重点记“三个判断条件”,结合图示理解,不要死记硬背。 另外,注意区分「单向循环链表」和「双向链表」「循环双向链表」的区别,后续会继续更新相关考点,记得关注哦~ 如果觉得这篇讲解对你有帮助,欢迎点赞、收藏,备考路上一起加油,争取一次拿下软件设计师证书!💪 结尾彩蛋:评论区回复“单向循环链表”,可领取软考真题中该考点的相关题目(带解析),帮大家快速检验学习效果~ 这篇博客已经涵盖备考核心内容,适配软件设计师考生需求。需要我帮你**补充软考真题示例(带解析)** ,让博客更具实用性吗? 原文出处:http://www.malaoshi.top/show_1GW2kQ1FIaUU.html