线性表(C)循环链式存储.ppt

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

2.5 线性表的其它存储方法;2.5 线性表的其它存储方法;L;void xhInsert(LinkList L,int i, ElemType x) { /*让p指向第i-1个结点*/ p=L; j=0; while(p-next!=L ji-1) { p=p-next; j++; } ;L;void xhDelete(LinkList L,int i, ElemType x) { /*让p指向第i-1个结点*/ p=L; j=0; while(p-next-next!=L ji-1) { p=p-next; j++; } ;rear;rear;rear;双链表;双链表:在单链表的每个结点中再设置一个指向其前驱结点的指针域。;双向循环链表; typedef struct DulNode { ElemType data; struct DulNode *prior, *next; } DulNode,*DuLinkList; ;双向链表的初始化;双链表的操作——插入;int insDLinkList(DuLinkList L, int i, ElemType x){ DuLinkList p=L;//工作指针指向头结点 DuLinkList newp;//用于指向??结点 int j=0;//计数器置0 //寻找插入位置,使得工作指针p指向第i-1个结点 while(p-next!=L ji-1) {p=p-next; j++;} if(p-next==Lji-1 || ji-1){ printf(位置不合理!\n); return 0; } //接后 ;//插入 newp=new DulNode; newp-data=x; newp-next=p-next; newp-prior=p; p-next-prior=newp; p-next=newp; return 1; } ;双链表的操作——删除;按后继方向寻找要删除的结点;//删除 q=p-next; x=q-data; p-next=q-next; q-next-prior=p; delete q; return 1; } ;本章总结

文档评论(0)

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

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

1亿VIP精品文档

相关文档