- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在链表中删除相同节点
1需求分析:
依次比较两个链表元素,取出两个链表相同元素,组成一个新的链表并赋顺序指针
struct Node
?{
?int number;
?Node *next;
Node *p,*q;
};
2源代码
#include?stdafx.h??
#include?iostream??
//双向循环链表的操作??
using?namespace?std;??
typedef?struct?Dbnode{??
?int?data;??????//节点数据??
??Dbnode?*left;??//前驱结点指针??
??Dbnode?*right;?//后继节点指针??
}Dbnode;??
void?Print(Dbnode?*head);??
??
//根据数据创建节点??
Dbnode?*CreateNode(int?data){??
Dbnode?*pnode=new?Dbnode;//??
????if?(pnode==NULL){?//如果内存申请失败,返回NULL??
????????return?NULL;??
????}??
????pnode-data=data;??
????pnode-left=pnode;//新节点的前驱和后继指针都指向自身??
????pnode-right=pnode;??
????return?pnode;??
}??
??
//在表尾插入新节点,返回表头节点??
Dbnode?*AppendNode(Dbnode?*head,int?data){??
????if?(head==NULL){??
????????return?NULL;??
????}??
????Dbnode?*phead=head;??
????Dbnode?*pnode=CreateNode(data);//创建一个新节点??
????while?(head!=phead-right){?//找到表尾??
???????????phead=phead-right;??
????}??
????pnode-right=phead-right;//右连接??
????head-left=pnode;??
????phead-right=pnode;//左连接??
????pnode-left=phead;??
????return?head;??
}??
??
//双向循环链表测长??
int?GetLength(Dbnode?*head){??
????if?(head==NULL)//如果指针为空则返回0??
????{??
????????return?0;??
????}??
????Dbnode?*phead=head-right;??
????int?i=1;??
????while?(head!=phead){??
??????????phead=phead-right;??
???????????i++;??
????}??
????return?i;??
}??
??
??
//双向循环链表的节点查找??
Dbnode?*FindNode(Dbnode?*head,int?data){??
????if?(head==NULL){??
????????return?NULL;??
????}??
????if?(head-data==data){?//如果表头节点和值相等??
????????return?head;??
????}??
????Dbnode?*phead=head-right;??
????while?(head?!=?phead??phead-data?!=?data){??
???????????phead=phead-right;??
??????}??
????if?(phead-data==data){//如果是值相等退出,则返回节点??
????????return?phead;??
????}??
????else??//如果没有找到,则返回NULL??
????????return?NULL;??
}??
??
??
??
//获得pA链表和pB链的交集,返回一个新链表??
Dbnode?*GetLink(Dbnode?*pA,Dbnode?*pB){??
????if?(pA==NULL?||?pB==NULL){//如果为空,则返回NULL??
????????return?NULL;??
????}??
????Dbnode?*pC=NULL;??
??
您可能关注的文档
最近下载
- 2014职工履历表样表.doc VIP
- 招投标知识培训通用实用PPT解析课件.pptx
- 赣科技版信息科技七年级上册 第2课《网络硬件》第1课时《网络传输介质的分类》课件.pptx
- 山东省德州市2025年中考英语试题(含答案) .pdf VIP
- 小学2022年版科学课程标准解读与讲座分享课件.pptx VIP
- 第三单元 口语交际:长大以后做什么-写作指导+范文赏析+病文升格-2022-2023学年二年级语文下册同步写话素材积累(部编).docx VIP
- 便桥施工方案.docx VIP
- 2025年中职高考中职英语二轮专题 主谓一致课件(共80张PPT).pptx VIP
- 酒店保洁服务接管计划方案.docx VIP
- 《办公软件应用(Office 2016)》课件 项目8--任务1 使用图表分析员工考评成绩.pptx
原创力文档


文档评论(0)