- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大学数据结构课件CH高级链表
循环链表 (Circular List) 循环链表是单链表的变形。 循环链表最后一个结点的 link 指针不 为NULL,而是指向了表的前端。 为简化操作,在循环链表中往往加入表头结点。 循环链表的特点是:只要知道表中某一结点的地址,就可搜寻到所有其他结点的地址。 循环链表的示例 带表头结点的循环链表 循环链表的定义 typedef char ListData; typedef struct cnode //链表结点 { ListData data; //结点数据域 struct cnode * link; //结点链域 } CircListNode; typedef CircListNode * CircLinkList; //循环链表头指针 CircLinkList first; //循环链表头指针 循环链表的查找算法 带尾指针的循环链表 将循环链表链入单链表链头 双向链表 (Doubly Linked List) 双向链表是指在前驱和后继方向都能游历(遍历)的线性链表。 双向链表每个结点结构: 双向链表通常采用带表头结点的循环链表形式。 结点指向p == p-prior-next == p-next-prior 双向循环链表的定义 typedef int ListData; typedef struct dnode { ListNode data; //数据 struct dnode * prior, * next; //指针 } DblNode; typedef DblNode * DblList; //双向链表 建立空的双向循环链表 void CreateDblList ( DblList first ) { first = ( DblNode * ) malloc ( sizeof ( DblNode ) ); if ( first == NULL ) { print ( “存储分配错!\n” ); exit (1); } first-prior = first-next = first; //表头结点的链指针指向自己 } 计算双向循环链表的长度 int Length ( DblList first ) { //计算带表头结点的双向循环链表的长度 DblNode * p = first-next; int count = 0; while ( p != first ) { p = p-next; count++; } return count; } 定位:查找第 i 个结点在链中的位置 作业: 1.非空的循环单链表head?的尾结点(由p所指向)满足___ A、 p - next = NULL B、 p = NULL C、 p - next = head D、 p = head 2.在双向链表存储结构中,删除p所指结点时须修改指针_______. A、 p----next-----prior=p---prior;p—prior—next=p—next; B、 p----next=p---next---next;p---next---prior=p; C、 p--prior---next=p;p---prior=p---prior---prior; D、 p--prior=p--next--next;p--next=p--prior--prior; 3. 在双向循环链表中,在p指针所指的结点后插入一个指针所指向的新结点,其修改指针的操作是_____ A、 p--next=q;q--prior=p;p--next--prior=q;q--next=q; B、 p--next=q;p--next--prior=q;q--prior=p;q--next=p--next; C、 q--prior=p;q--next=p--next;p--next--prior=q;p--next=q; D、 q--next=p--next;q--prior=p;p--next=q;p--next=q; a0 a1 a2 an-1 first an-1 first a1 a0 first (空表) (非空表) 查找成功 查找不成功 循环链表的查找 first first 3
您可能关注的文档
最近下载
- 2025呼和浩特粮油收储有限公司招聘18名工作人员笔试备考题库及答案解析.docx VIP
- 一种含电极的智能指环、灌胶治具及其封装工艺.pdf VIP
- The Wonderful Wizard of Oz-绿野仙踪(带动画) 课件.pdf VIP
- 2025至2030中国老年照护行业市场发展分析及竞争格局与投资发展报告.docx
- 2010年考研英语真题及解析.pdf VIP
- 浙江省强基联盟2024-2025学年高一上学期10月联考生物试卷.docx VIP
- 第一章 应急管理导论-2.ppt VIP
- 大连理工工程力学课件0.pdf VIP
- 大行距造林中杨树营养面积与大行距经济效益的研究.docx VIP
- 2025学宪法讲宪法知识竞赛题库及参考答案.pptx
文档评论(0)