关于编译错误的问题
#include<stdio.h>#include <stdlib.h>
typedef struct node
{int data;
struct node *next;
}node,*list;
void initlist(list &f)
{
f=(list)malloc(sizeof(node));
f->next=NULL;
}
void combine(list &a,list &b,list &c)
{
list p,q,t;
p=a->next;
q=b->next;
free(b);
b=q;
c=a;
a=p;
c->next=NULL;
while(p&&q)
{
if (p->data<=q->data)
{
a=a->next;
p->next=c->next;
c->next=p;
p=a;
}
else
{
b=q->next;
q->next=c->next;
c->next=q;
q=b;
}
}
if (p!=NULL)
{
while(p)
{
a=a->next;
p->next=c->next;
c->next=p;
p=a;
}
}
if (q!=NULL)
{
while(q)
{
b=q->next;
q->next=c->next;
c->next=q;
q=b;
}
}
}
int main()
{
list a,b,c;
initlist(a);
initlist(b);
int n,m;
scanf("%d %d",&n,&m);
list p,q;
q=a;
for (int i=0;i<n;i++)
{
p=(list)malloc(sizeof(node));
scanf("%d",&p->data);
p->next=q->next;
q->next=p;
q=p;
}
list j,k;
k=b;
for (int i=0;i<m;i++)
{
j=(list)malloc(sizeof(node));
scanf("%d",&j->data);
j->next=k->next;
k->next=j;
k=j;
}
combine(a,b,c);
list l;
l=c->next;
while(l!=NULL)
{
printf("%d\n",l->data);
l=l->next;
}
return 0;
}
这个是链表归并问题。提交时老出现编译错误!!!!帮忙看看阿!