- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
双向链表精选
设某个环形链表的长度大于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的所有结点的函数
您可能关注的文档
最近下载
- 电子部超级说服力.pdf VIP
- 地方化债又出新规:从35、47、14号文到134号文.docx
- (完整word版)学前教育专业简笔画教案.doc
- 《运筹学》课程教学大纲(本科).docx VIP
- 公路工程监理资料管理.ppt
- 华中农业大学 614微生物学 2016年考研真题.pdf VIP
- 参考学习资料 附件1:国铁集团工电部关于新建西至华中地区铁路煤运通道线名运营里程线路允许速度的函(审签稿).docx
- (新版)拖拉机驾驶证科目一知识考试题库500题(含答案).docx
- 人教部编2024年新改版语文五年级上册全套月考试题及答案(共4套).pdf VIP
- 17小学语文《盼》课件(共40张PPT).pptx VIP
文档评论(0)