- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
设某个环形链表的长度大于1,且表中即无头指针 也无头结点,已知s为指向链表中某个结点的指针, 试编写算法在链表中删除s所指结点的前驱结点 s void dele(s) NODE *s; { NODE *p,*q; p=s; while (p-link!=s) { q=p; p=p-link;} q-link=s; free(p); } 编写在链表中s结点之前插入新结点的算法 s q p 要访问某个结点的前趋结点很麻烦,…... 要删除链表中一个结点时,仅给出该结点的指针还不行…… 在指定的结点之前插入一个新结点….. 双向链表 左指针:llink 指向该结点的前趋结点 右指针:rlink 指向该结点的后继结点 llink data rlink #include stdio.h struct node { char data; struct node *llink,*rlink; }; typedef struct node NODE; NODE *head; 双向链表 ^ head ^ …... ^ …... 空的双向链表 非空的双向链表 head head=NULL 环形双向链表 ^ head …... …... 空的环形双向链表 非空的环形双向链表 head p-rlink-llink= p-llink-rlink= p 带表头结点的双向链表 head 空的带表头结点双向链表 ^ ^ …... ^ …... 非空的带表头结点双向链表 ^ head 带表头结点的环形双向链表 head 空的带表头结点环形双向链表 …... …... 非空的带表头结点环形双向链表 head 带表头的环形双向链表的插入 …... ^ …... x p y 1 4 q 2 3 * * 将值为y的结点插在值为x的结点之后 1.q-rlink=p-rlink 2.p-rlink=q 3.q-rlink-llink=q 4.q-llink=p int insert_d_l(head,x,y) NODE *head; char x,y; { NODE *p,*q; p=head-rlink; while (p!=head p-data!=x) p=p-rlink; if (p= =head) return(1); q=(NODE*)malloc(sizeof(NODE)); q-data=y; q-rlink=p-rlink; p-rlink=q; q-rlink-llink=q; q-llink=p; return(0); } 带表头的环形双向链表的删除 …... ^ …... x * * p * * 1 2 p-llink-rlink=p-rlink p-rlink-llink=p-llink int delete-d-l(head,x) NODE *head; char x; { NODE *p; p=head-rlink; while (p!=head p-data!=x) p=p-rlink; if (p= =head) return(1); P-llink-rlink=p-rlink; p-rlink-llink=p-llink; free(p); return(0); } 删除双向环形链表中第k(k0)个结点 ……. for(j=0;jkp!=head;j++) p=p-rlink; if(p==head) return(1); p-llink-rlink=p-rlink; p-rlink-llink=p-llink; free(p); return(0); 第二次作业 1.试编写一个求已知单链表的数据域的平均值的函数 2.已知带有头结点的环形链表中头指针为head,试写出删除并释放数据域值为x的所有结点的函数
您可能关注的文档
最近下载
- 中频炉事故应急预案.pptx
- (新课标新教材)新外研版英语初中七年级上册Starter Welcome to junior high! introduce yourself说课稿.doc
- 成都市建设领域市场主体及从业人员信用信息填报相关须知(外地)(B).doc
- 入党积极分子培训优秀.ppt VIP
- 北师大版二年级数学上册计算题专项复习大全250.pdf
- 三年级上苏教版江苏凤凰教育出版社科学教学计划.docx
- (新课标新教材)新外研版英语初中七年级上册Starter Welcome to junior high! Know your school说课稿.doc
- 概率论与数理统计(第二版刘建亚)习题解答.pdf
- 一年级上学期《和大人一起读》检测题2.doc
- (新课标新教材)新外研版英语初中七年级上册Unit 5 Fantastic friends Starting out & Understanding ideas说课稿.doc
文档评论(0)