- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
双向循环链表的插入 (空表) q-prior = p; q-next = p-next; p-next = q; q-next-prior = q; p q head 25 head p 在结点 *p 之前插入25 Insert ( dlinklist * head, int i, datatype x ) { dlinklist *p,*q; p = GET ( head, i-1 ); //指针定位于插入位置 q = (dlinklist*) malloc( sizeof ( dlinklist ) ); //分配结点 q-data = x; q-prior = p; p-next-prior = q; //在前驱方向链入新结点 q-next = p-next; p-next = q; //在后继方向链入新结点 } 在双向链表的第i个位置上插入x 双向循环链表的删除 p-next-prior = p-prior; p-prior-next = p-next; (非空表) 删除48 head head 31 48 15 p 31 15 删除双向链表的第i个结点。 int Remove ( dlinklist * head, int i ) { dlinklist * p = GET( head, i ); //指针定位于删除结点位置 if ( p == head ) return 0; p-next-prior = p-prior; p-prior-next = p-next; //删除结点 p free ( p ); //释放 return 1; } 顺序表与链表的比较 基于空间的比较 存储分配的方式 顺序表的存储空间是静态分配的 链表的存储空间是动态分配的 存储密度 = 结点数据本身所占的存储量/结点结构所占的存储总量 顺序表的存储密度 = 1 链表的存储密度 1 顺序表与链表的比较 基于时间的比较 存取方式 顺序表可以随机存取,也可以顺序存取 链表是顺序存取的 插入/删除时移动元素个数 顺序表平均需要移动近一半元素 链表不需要移动元素,只需要修改指针 结 束 * 单链表的基本运算 从一个空表开始,重复读入数据: 生成新结点 将读入数据存放到新结点的数据域中 将该新结点插入到链表的前端 直到读入结束符为止。 前插法建立单链表 ^ a b head c d Linklist *createListF ( ) { char ch; linklist *q; linklist *head ; //建立表头结点 head = NULL; while ( (ch = getchar( ) ) != ‘n’ ) { q = ( linklist *)malloc (sizeof(linklist)); q-data = ch; //建立新结点 q-next = head; //插入到表前端 head= q; } return head; } (2)尾插法建表 linklist *createListR ( ) { char ch; linklist *head //建立表头结点 linklist *q, *r = NULL; head= NULL; while ( (ch = getchar( ) ) != ‘\n’ ) { q = (linklist *)malloc (sizeof(linklist)); q-data = ch; //建立新结点 if(head==NULL) head=q; else r-next=q; //插入到表末端 r =q; } if(r!==NULL) r -next = NULL; return head;} 每次将新结点加在链表的表尾; 尾指针r ,总是指向表中最后一个结点,新结点插在它的后面; 带表头结点的单链表 表头结点位于表的最前端,本身不带数据,仅标志表头。 设置表头结点的目的: 简化链表操作的实现。 非空表 空表 ^ an a1 head head ^ Linklist
您可能关注的文档
最近下载
- 如何将自己的手机号设置成空号.docx VIP
- 云南省交通规划设计研究院有限公司招聘笔试题库2025.pdf
- 《电气工程基础》(熊信银_张步涵_华中科技大学)习题答案全解 (2).doc VIP
- 急性冠状动脉综合征患者规范化诊疗中国专家共识(冠心病).pptx
- 北师大级硕士研究生“自然辩证法概论”复习题(带答案) .pdf VIP
- 企业劳动用工法律风险调查表.pdf VIP
- 《电气工程基础》(熊信银张步涵华中科技大学)习题答案全解.docx VIP
- 阳痿护理查房课件.pptx VIP
- 护士科室火灾应急预案演练脚本精选(两篇).docx
- 2025年及未来5年中国智慧机场行业市场评估分析及发展前景调研战略研究报告.docx
原创力文档


文档评论(0)