JAVA两个单链表求交集,小白求助,两个单链表求交集放到新链表c中,出错了,谢谢各位吴彦...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

#include

#include

#defineElemTypeint

//LinkListCreateList_Head(LinkListL);//生命函数

typedefstructLNode{

ElemTypeData;//数据域

structLNode*Next;//指针域

}LNode,*LinkList;voidPrintList(LinkListL)

{

LinkListp;

p=L->Next;

printf("链表元素如下:\n");

while(p!=NULL)

{

printf("%d",p->Data);

p=p->Next;

}

printf("\n");

}intmain()

{

LinkLista,b,c;

printf("请创建a链表\n");

a=CreateList_Tail(a);

printf("a的data:\n");

PrintList(a);

printf("请创建b链表\n");

b=CreateList_Tail(b);

printf("b的data:\n");

PrintList(b);

printf("c链表如下\n");

LinkListMerge(a,b,c);

PrintList(c);

return0;

}//2.尾插法

LinkListCreateList_Tail(LinkListL)

{

intx;

L=(LNode*)malloc(sizeof(LNode));

LNode*s,*r=L;

scanf("%d",&x);

while(x!=9999){

s=(LNode*)malloc(sizeof(LNode));//创建新的结点

s->Data=x;

r->Next=s;

r=s;

scanf("%d",&x);

}

r->Next=NULL;

returnL;

}/链表的合并

boolLinkListMerge(LinkLista,LinkListb,LinkListc){

LNode*p,*q,*pc,*r,*s;

p=a->Next,q=b->Next;

pc=(LNode*)malloc(sizeof(LNode));

c=pc;

while(a&&b){

if(p->DataData){

//s->Next=p;

p=p->Next;

}

if(p->Data>q->Data){

//s->Next=q;

q=q->Next;

}

if(p->Data==q->Data){

s=(LNode*)malloc(sizeof(LNode));

s->Data=p->Data;

pc->Next=s;

pc=s;

p=p->Next;

q=q->Next;

}

}

returntrue;}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值