- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单链表环的判断和其起始位置定位
单链表有环判断及其起始位置定位 主讲人:刘其强 2016年9月27日 目录 链表的定义及单链表 有环单链表 单链表有环判断及其起始位置定位 C++代码 链表的定义及单链表 链表是将数据元素存放在不连续的地址空间中的一种线性表。链表分为单链表、双链表和循环链表几类。 单链表的每一个结点包含两部分数据域和下一个结点的地址即指针域。这里一个链表通常有一个“表头”,用来存放第一个结点的地址。每一个结点的后面一个结点称为该结点的后继,链表也会有一个“表尾”,表尾没有后继,所以尾结点的指针域为空指针(NULL)。单链表结构如下图1所示。 图1 单链表数据结构示意图 单链表具有以下特征 单链表结点的物理位置不一定连续,单链表逻辑上通过指针实现连续。 单链表有一个头结点和一个为结点,并且只有尾结点没有后继点,其它结点有且仅有一个后继结点。 只要知道了链表的头结点,就可以遍历整个链表。 有环单链表 通过图1可以看出,单链表的每一个存储结点(头结点和尾结点除外)在结构上只有一个前驱结点和一个后继结点,其头结点没有前驱并且尾结点没有后继,所以,有环单链表的结构必然如下图2所示。 图2 有环单链表 单链表有环只能是指它末尾有环,不会是中部,因为如果那样的话就违背了单链表只有一个后继结点的要求。所以,我们可以将有环单链表看成是一个单链表与一个循环链表的组合。 单链表有环判断及其起始位置定位 判断一个单链表是否有环最简便的方法就是追逐法。设置两个指针p和q指向链表的头结点,然后循环移动两个指针,p指针每次移动一个节点,即一步,q指针每次移动两步,如果该单链表存在环,那么这两个指针总会在某个位置相遇。如果链表无环,则q会率先指向NULL。具体的过程如图3所示。 图3 判断链表有环运行图 如何找出有环链表中环的起始位置,通过图2可知,只要确定了环的长度和链表的长度,就能轻松的计算头结点到环起始位置之间的链表长度,这样环的起始位置就呼之欲出了。 C++代码 1、链表有环判断 bool isCircleLink(Node *head) { If(head==NULL) return false; Node *p,*q; p=q=head; while(q!=NULLq-next!==NULL) { p=p-next; q=q-next-next; If(p==q) break; } If(p==qp!=NULL) return true; return false; } 2、寻找链表环起始位置 Node circleStar(Node *head) { If(head==NULL) return false; Node *p,*q; p=q=head; while(q!=NULLq-next!==NULL) { p=p-next; q=q-next-next; If(p==q) break; } If(p==qp!=NULL) { q=head; While(p=!q) { p=p-next; q=q-next; } return p; } else return NULL; }?
您可能关注的文档
- 十.源自日语的外来词.ppt
- 医院感染的管理system概述.ppt
- 十一.对外汉语泛读课教学实施.ppt
- 医院无线呼叫system文案.ppt
- 十一前出台新政解读〔技术发展中心〕201009.ppt
- 十三.十四章创新.ppt
- 十.静态MAC地址的配置.ppt
- 十二五教材第二章︰人力资源管理概述.ppt
- 十二五节能规划编制〔包括工作计划〕.ppt
- 医院管理论坛十周年合作函.ppt
- 2026秋季中国工商银行集约运营中心(佛山)校园招聘20人备考题库含答案详解(培优).docx
- 中国农业银行宁波市分行2026年度校园招聘214人备考题库附答案详解(夺分金卷).docx
- “梦工场”招商银行长沙分行2026寒假实习生招聘备考题库附答案详解(轻巧夺冠).docx
- 2026贵州省公共资源交易中心定向部分高校选调优秀毕业生专业技术职位考试备考题库完整参考答案详解.docx
- 中国建设银行建信金融资产投资有限公司2026年度校园招聘8人备考题库含答案详解(a卷).docx
- 中国农业银行宁夏回族自治区分行2026年度校园招聘146人备考题库及一套参考答案详解.docx
- 门头沟区青少年事务社工招聘1人备考题库附答案详解(模拟题).docx
- 中国建设银行运营数据中心2026年度校园招聘20人备考题库含答案详解ab卷.docx
- 中国建设银行建银工程咨询有限责任公司2026年度校园招聘9人备考题库及答案详解(有一套).docx
- 2026秋季中国工商银行重庆市分行校园招聘270人备考题库含答案详解(完整版).docx
最近下载
- 毛泽东思想和中国特色社会主义理论体系概论课程论文格式.docx VIP
- 《西 藏自治区高原装配式钢结构建筑技术标准》(DBJ540003-2018).docx
- 国际法与国际商务合规国际货运与物流规定.pptx VIP
- 财务管理学(第10版)课件 第8章 投资决策实务.pptx
- 王维《终南山》古诗词PPT.pptx VIP
- 《精密机械设计基础(第二版)》裘祖荣习题参考答案.pdf VIP
- 国际法与国际商务合规商业机密与保密规定.pptx VIP
- 2025至2030年中国辅酶Q10行业市场深度分析及投资前景展望报告.docx
- 第六节点的投影.ppt VIP
- 理论力学知到智慧树期末考试答案题库2025年浙江大学.docx VIP
原创力文档


文档评论(0)