两个链表的交集 #include<stdio.h> #include<stdlib.h> typedef struct Node{ int data; struct Node *next; }Node; void initpointer(struct Node *p){ p=NULL; } int printlist(struct Node* head){ int flag=1; head=head->next; /* 因为标记1的地方你用了头结点,所以第一个数据域无效,应该从下一个头元结点开始 */ if(head==NULL) printf("NULL\n"); else { while(head!=NULL) { if(flag==1) { printf("%d",head->data); flag=0; } else { printf(" %d",head->data); } head=head->next; } printf("\n"); } return 0; } struct Node *creatlist(struct Node *head) { int n; struct Node *p1=(struct Node *)malloc(sizeof(struct Node)); p1->next=NULL; while(scanf("%d",&n),n!=-1) { struct Node *pnode=(struct Node *)malloc(sizeof(struct Node)); pnode->next=NULL; pnode->data=n; if(head==NULL) head=pnode; p1->next=pnode; p1=pnode; } return head; } struct Node *Intersect(struct Node *head1, struct Node *head2) { struct Node *p1=head1,*p2=head2;/*我这里没有用头指针和头结点,这里是首元结点head1里面就是第一个数据,一定要理解什么事头指针, 头结点,和首元结点 具体你一定要看这个博客:http://blog.sina.com.cn/s/blog_71e7e6fb0101lipz.html*/ struct Node *head,*p,*q; head = (struct Node *)malloc(sizeof(struct Node)); head->next = NULL; p = head; while( (p1!=NULL)&&(p2!=NULL) ) { if (p1->data == p2->data) { q = (struct Node *)malloc(sizeof(struct Node)); q->data = p1->data; q->next = NULL; p->next = q;//我可以认为你这里用了头结点,也就是说第一个数据域无效 **标记1** p = q; p1 = p1->next; p2 = p2->next; } else if (p1->data < p2->data) { p1 = p1->next; } else { p2 = p2->next; } } return head; } int main() { struct Node *head=NULL,*headt=NULL,*t; //initpointer(head);//这里的函数相当于head=NULL; // initpointer(headt);//上面已经写了headt=NULL那么这里可以不用调用这个函数 head=creatlist(head); headt=creatlist(headt); t=Intersect(head,headt); printlist(t); }
标签: c语言编程
上传时间: 2015-04-27
上传用户:coco2017co
博森ccr智能合约量化炒币机器人是一个非常智能,全自动无需人为干预的一个工具,针对行情走势监控和捕捉,精准的捕捉行情减少手动操作带来的风险,提高安全性。24*365天的自动执行非常省心省力。博森ccr智能合约量化炒币机器人目前的版本是手机版,非常给力。不再像以前那样要登服务器,要去电脑操作了。
标签: 炒币机器人
上传时间: 2021-11-26
上传用户:jiabin
C算法(第一卷)-带目录.pdfC语言数值算法程序大全(第二版).pdfC语言经典算法大全.pdfff6f5d529e875d2bec2713adc98d25b477aa8a63.pdfIntroduction to Algorithms(3rd Edition).pdfMATLAB语言常用算法程序集.pdfNetflix Prize中的协同过滤算法.pdfp范数正则化支持向量机分类算法_刘建伟.pdf[数据结构与算法分析C.描述].(美国)Mark.Allen.Weiss.扫描版.pdf[程序语言的奥妙:算法解读(四色全彩)].(杉浦贤).李克秋.扫描版.pdf《算法导论(原书第3版)》.pdf【爱生活的程序员-气宗】算法导论(第三版).pdf【算法(第4版)迷你书】.pdf一种基于灰度变换的红外图像增强算法.pdf一种改进的支持向量机的文本分类算法.pdf一种静态图像压缩编码算法的改进.pdf个性化搜索引擎推荐算法研究.pdf分布式计算——原理、算法和系统.pdf十五个经典算法研究与总结、目录+索引by_July (1).pdf十五个经典算法研究与总结、目录+索引by_July.pdf十大滤波算法程序大全(Arduino精编无错版) - Powered by Discuz!.pdf图论及其算法.pdf基于模拟退火与遗传算法结合的神经网络图像分割.pdf大数据算法.PDF嵌入式系统软件设计中的常用算法 (周航慈 清晰.pdf支持向量机通俗导论(理解SVM的三层境界) - 结构之法 算法之道 - 博客频道 - CSDN.pdf支持向量机:理论、算法与拓展.pdf改进的基于DCT的自适应水印算法(重要).pdf数学建模MATLAB算法大全.pdf数学建模竞赛中应当掌握的十类算法.pdf数据挖掘十大算法(英).pdf数据结构与算法分析 C++描述(高清非扫描).pdf最优化理论与算法(第2版).pdf机器学习十大算法(9):朴素贝叶斯.pdf算法 英文版第4版 Robert Sedgewick .pdf.pdf算法(algorithm)手写代码必备手册(C++版).pdf算法导论(CLRS)笔记.p...
标签: 算法
上传时间: 2022-06-06
上传用户:
PowerPCB精采视频教程
上传时间: 2013-07-06
上传用户:eeworm
GSM手机维修精要.技巧.521例
上传时间: 2013-07-28
上传用户:eeworm
CPLD常用模块与综合系统 实例精讲 高清书签版
上传时间: 2013-06-12
上传用户:eeworm
KAR高精薄膜贴片系列--KAT
上传时间: 2013-06-14
上传用户:eeworm
Visual C++通信编程工程实例精解(CD).7z
上传时间: 2013-05-17
上传用户:eeworm
Visual C++通信编程工程实例精解(附盘)(信息科学与技术丛书 程序设计系列) PDF
上传时间: 2013-07-04
上传用户:eeworm
Visual C++通信编程工程实例精解(附盘)(信息科学与技术丛书 程序设计系列)
上传时间: 2013-06-02
上传用户:eeworm