线性结构-双链表和循环链表.pptVIP

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

线性结构-双链表线性结构-循环链表**双链表的引出单链表的不足每个结点的指针域只放了一个指针,该指针指向该结点的直接后继。因此,每查找一个数据元素,都必须从头结点开始,由前向后单方向搜索。datanextdatanextprior指向直接前趋数据域指向直接后继C语言描述:structnode{elemtypedata;structnode*next;}structnode{elemtypedata;structnode*prior,*next;}逻辑示意图若P是指向表中某一结点(头结点除外)的指针,明显有如下关系:P-next-prior=PP-prior-next=Pa1a2an???空双链表的建立(初始化)插入结点删除结点双链表的基本操作空双链表的建立操作描述:建立一个带头结点的单链表??算法:1、分配一个结点的内存空间C语言描述:voidinitiate_list(node**h){*h=(node*)mallcoc(sizeof(node));(*h)-prior=NULL;(*h)-next=NULL;}2、使链表指针指向该头结点插入结点操作描述:在第i个元素后插入新元素anew,构成一个新的双链表。算法分析:同单向链表一样,先打开ai和ai+1之间的链,插入anew后,重建链接关系。aiNPai+1NPanewNP.3、anew-next=ai+11、ai-next=anew2、anew-previous=ai4、ai+1-previous=anewppnewC语言描述voidinsert1(node*p,elemtypeanew){node*pnew;pnew=(node*)malloc(sizeof(node));pnew-data=anew;}p-next-prior-=pnew;pnew-next=p-next;pnew-prior=p;p-next=pnew;voidinsert2(node*h,inti,elemtypeanew){node*p,*pnew;intj;//定位,使p指向第i个结点p=h;for(j=0;ji;j++){p=p-next;if(p==NULL)return;}pnew=(node*)malloc(sizeof(node));……}删除结点操作描述:删除双向链表的第i个元素。算法分析:相对双向链表的插入操作而言,删除比较简单,只需要重新建立元素ai-1和元素ai+1之间的链接,并释放元素ai的空间就可以了。ai-1NPaiNPai+1NPpaiNPVoiddelete(node*p){p-prior-next=p-next;p-next-prior=p-prior;free(p);}双向链表的性能分析优点:可以从任一节点开始,访问表中的任一节点。访问顺序自由。缺点:占用空间增多,内存利用率减低。根据实际需要,选择使用单向链表还是双向链表。循环链表循环链表是一种首尾相接的链表。在不增加存储空间的前提下,实现了双向链表的操作特点,即可以从任一节点开始访问所有节点。a1a2anha1a2anhhhhh尾指针a1a2anr循环单链表更常用尾指针来命名。hr优点:查找链表开始结点和终端结点都很方便,其存储位置分别为r-next-next和r。合并两个循环链表将两个线性表(a1,a2,……,an)和(b1,

文档评论(0)

138****1610 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档