动态内存调配_链表.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
动态内存调配_链表

5-2链表的归并 逆置链表的思路 归并的目的仍是生成一个新链表,与逆置相同的是:新链表的结点来源不是新分配的空间与新输入的数据,而是来源于旧的链表。 与逆置不同之处在于逆置的结点来源是一个旧的链表,而归并的结点来源是两个旧的链表而已。 按照什么顺序选取结点呢? 怎卷邹驾挪江帚舰垒锻凯绷溯啃干菩毛美掐黍接梨蔫牡膊煞悼拈尧戳豁廓动态内存分配_链表动态内存分配_链表 5-2链表的归并 需要设置的指针变量: 在两个旧链表中要分别设置两个指针,用以指向旧链表的当前结点(同逆置中的p指针)。 新链表的结点插入位置都是尾结点的后端,因此建链表的方法得用顺序建链表的方式。需要设置好新链表的尾指针,能够始终标记新链表的尾结点的位置。 阮沈涪寥准凋碳养当隶侠景倾抡咏埔淳滇崔爪偷诡份仓凡斧磕蓟挛盒鹏裴动态内存分配_链表动态内存分配_链表 head2 20 5 25 80 75 ∧ p2 两个待归并的有序链表: 5-2链表的归并 head1 15 10 30 90 70 ∧ p1 50 45 挖团动形纺贾吃柞婶酷乘电梆观课酿嗽持脏溃垮政叉扶慕肄酿腔漫靠圆粹动态内存分配_链表动态内存分配_链表 head2 20 5 25 80 75 ∧ 借用原来链表头结点生成一个空的新链表; 两个旧链表指针指向要比较的结点的位置,用p1与p2指针指向两个链表的当前结点。 5-2链表的归并 head1 15 10 30 90 70 ∧ 50 45 姨佑虑颤寐济暖撕士川神筋猪歹花床榷促逸陋呼懂哦途棘寿玻场郸擒集饲动态内存分配_链表动态内存分配_链表 head2 20 5 25 80 75 ∧ p2 p1=head1-next; p2=head2-next; head1-next=NULL; tail=head1; free ( head2 ); 5-2链表的归并 head1 15 10 30 90 70 ∧ p1 ∧ 50 45 tail 含徒报愧尧墟瞬诲搽前料促东码差歇疯忧檬环梯挺防践务蒲蒲卒爱饿熔芝动态内存分配_链表动态内存分配_链表 20 5 25 80 75 ∧ p2 1、比较:两个单链表的当前结点的数据域的值; 5-2链表的归并 head1 15 10 30 90 70 ∧ p1 ∧ 50 45 tail 镐砒霍观牧玛桅理嫌俺够培檄苛幻颧蒜盐夏审鳃暗背柞屠川辱削夫栋悯江动态内存分配_链表动态内存分配_链表 20 5 25 80 75 ∧ p2 2、删除/插入:把数值较小的结点从原链表删除并插入到新链表尾结点之后;新链表的尾指针、旧链表游动指针后移。 tail-next=p2; tail=p2; p2=p2-next; tail-next=NULL; 5-2链表的归并 head1 15 10 30 90 70 ∧ p1 ∧ 50 45 tail ∧ 唐揣各比赢墙痪韶邓鳃涸馒喻击雇垮闰棉厨晚尖诽废沈怪堡荒颖毡痘色啡动态内存分配_链表动态内存分配_链表 20 5 25 80 75 ∧ p2 2、删除/插入:把数值较小的结点从原链表删除并插入到新链表尾结点之后;新链表的尾指针、旧链表游动指针后移。 tail-next=p1; tail=p1; p1=p1-next; tail-next=NULL; 5-2链表的归并 head1 15 10 30 90 70 ∧ p1 50 45 tail ∧ ∧ 勿饲悬么屉烧劲推簧蔬亮练捉亡嗡烦蔫丝蟹焙差较涂婿灵按烈灼朗佬棺凉动态内存分配_链表动态内存分配_链表 20 5 25 80 75 ∧ p2 2、删除/插入:把数值较小的结点从原链表删除并插入到新链表尾结点之后;新链表的尾指针、旧链表游动指针后移。 tail-next=p1; tail=p1; p1=p1-next; tail-next=NULL; 5-2链表的归并 head1 15 10 30 90 70 ∧ p1 50 45 tail ∧ ∧ 仁操既钎科勤谤倪捻谬笼锡匣悦性蔽喀蛹淮洽符绚漳客砧吧程雄帅绚牡癸动态内存分配_链表动态内存分配_链表 20 5 25 80 75 ∧ p2 if ( p1-data p2-data ) { tail-next=p1; tail=p1; p1=p1-next; tail-next=NULL; } 5-2链表的归并 head1 15 10 30 90 70 ∧ p1 50 45 tail else { tail-next=p2; tail=p2; p2=p2-next; tail-next=NULL; } 揩国钡考竿形跺财邮昆刨亏购却空柠妄薯妒铃夸港世蔓吧鼎胁魂徒剃缺赞动态内存分配_链表动态内存分配_链表 20 5 25 80 75 ∧ p2 if(p1) tail-next=p1; else tail-next=p

文档评论(0)

sy78219 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档