网站大量收购闲置独家精品文档,联系QQ:2885784924

数据结_第2章-3双向链表.ppt

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结_第2章-3双向链表

六、双向链表;;2、双向链表的操作实现; ;例:已知P结点是双向链表的中间结点,试从下列提供的答案中选择合适的语句序列。 ;(1)P-next=P-next-next; (10) P-prior-next=P; (2)P-prior=P-prior-prior; (11) P-next-prior =P; (3) P-next=S; (12)P-next-prior=S; (4) P-prior=S; (13) P-prior-next=S; (5)S-next=P; (14) P-next-prior=P-prior (6)S-prior=P; (15)Q=P-next; (7) S-next= P-next; (16)Q= P-prior; (8) S-prior= P-prior; (17)free(P); (9) P-prior-next=p-next; (18)free(Q); ;2.4 静态链表; 静态单链表的类型定义如下: #define MAXSIZE 1000 //预分配最大的元素个数(连续空间 typedef struct { DataType data ; //数据域 int next ; //指示域 }component , SLinkList[MAXSIZE] ; //这是一维结构型数组;例 2:一线性表 S = ( ZHAO, QIAN, SUN, LI, ZHOU, WU ),用静态链表如何表示?;说明3:静态链表的插入与删除操作与普通链表一样,不需要移动元素,只需修改指示器就可以了。;例3:试用C或类C语言编写一高效算法,将一顺序存储的线性表(设元素均为整型量)中所有零元素向表尾集中,其他元素则顺序向表头方向集中。;解: void SortA(SeqList *L) { int i=0, zerosum =0; if(L-size= =0) return(0); //空表则结束 else { for( i=0; iL.-size; i++) {if (L-list[i]0) L-list[i- zerosum]= L-list[i]; else zerosum++; } } for( i= L-size-zerosum; i=L.-size; i++) L-list[i]=0; //表的后部补0 } ;若考虑表完全非空的情况,则程序要变长很多。 解: void SortA(SeqList *L) { int i=0,zerosum =0; if(L-size= =0) return(0); //空表则不执行 for( i; i=L-size; i++) {if (L-list[i]0zerosum!=0)L-list[i- zerosum]= L-list[i]; else zerosum++ }; //适当移动非零元素,是零则增加计数 for( i= L-size-zerosum+1; i=L-size; i++) L-list[i]=0; //表的后部???0 return( ); };本章小结;循环链表的特点:从任一结点出发均可找到表中其他结点;讨论1: 顺序存储和链式存储的区别和优缺点?   顺序存储时,逻辑上相邻的数据元素,其物理存放地址也相邻。顺序存储的优点是存储密度大,存储空间利用率高;缺点是插入或删除元素时不方便。   链式存储时,相邻数据元素可随意存放,但所占存储空间分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针。链式存储的优点是插入或删除元素时很方便,使用灵活。缺点是存储密度小,存储空间利用率低。;讨论2:什么是指针?指针的作用?

文档评论(0)

cgsx259 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档