c++ 关于把两个链表相同的值赋给一个新链表的问题

调试的时候总是提示新的链表没有被初始化,求大神解决
#include<iostream>
#include<iomanip>
using namespace std;
struct Lnode
{
int data;
Lnode *prior;
Lnode *next;
};
class CDoubleLinkList
{
//private:
// Lnode *head;
public:
Lnode *head;
void creatList()
{
Lnode *s,*r;
head =new Lnode;
head->data=0;
head->prior=NULL;
head->next=NULL;
r=head;
cout<<"Please input the data of your doubleLinkList and when the data is zero the pro end"<<endl;
int n;
cin>>n;
while(n!=0)
{
s=new Lnode;
s->data=n;
r->next=s;
s->prior=r;
r=s;
cin>>n;
}
r->next=NULL;
}
void dispList()
{
Lnode *p=head->next;
while(p)
{
cout<<setw(3)<<p->data;
p=p->next;
}
cout<<endl;
}
};
CDoubleLinkList initList(CDoubleLinkList a)
{
a.head->data=0;
a.head->prior=NULL;
a.head->next=NULL;
return a;
}
CDoubleLinkList sendList(CDoubleLinkList a,CDoubleLinkList b)//调试提示c没有被初始化
{
Lnode *p=a.head->next;
Lnode *q=b.head->next;
CDoubleLinkList c;
initList(c);
Lnode *t=c.head->next;
int t1=0,t2=0;
while(p&&q)
{
t1=p->data;
t2=q->data;
if (t1==t2)
{
t->data=t1;
t=t->next;
}
p=p->next;
q=q->next;
}
return c;
}
int main()
{
CDoubleLinkList h,j;
h.creatList();
h.dispList();
j.creatList();
j.dispList();
sendList(h,j);
return 0;
}

需要传递指针
CDoubleLinkList initList(CDoubleLinkList *a)

CDoubleLinkList c; 定义了c但是Lnode *head;并没有初始化,空指针访问追问

具体应该怎么改呢?

追答

sendList 要实现什么功能

追问

标题上说的啊把两个链表中相同的值赋给一个新的链表

温馨提示:答案为网友推荐,仅供参考
相似回答