主函数怎么改啊教教我
将两个递增单链表合并成一个新的递增单链表
#include
#include
typedef struct Node
{
int data;
struct Node *next;
}LNode,*LinkList;
LinkList Creat_LinkList1()
{
LinkList L=NULL;
LNode *s;
int x;
scanf("%d",&x);
while(x!=0)
{
s=(LNode*)malloc(sizeof(LNode));
s->data=x;
s->next=L;
L=s;
scanf("%d",&x);
}
return L;
}
LinkList merge(LinkList &A,LinkList &B,LinkList &C)
{
LNode *p,*q,*s;
p=A->next;q=B->next;
C=A;
C->next=NULL;
free(B);
while (p&&q)
{
if(p->datadata)
{
s=q;q=q->next;
}
else
{
s=q;q=q->next;
}
s->next=C->next;
C->next=s;
}
if(p==NULL)p=q;
while(p)
{
s=p;p=p->next;
s->next=C->next;
C->next=s;
}
return C;
}
int main()
{
printf("请输入表A:");
LinkList A=Creat_LinkList1();
printf(A);
printf("请输入表B:");
LinkList B=Creat_LinkList1();
printf(B);
printf("请输入表C:");
LinkList C=merge(LinkList &A,LinkList &B,LinkList &C)
printf(C);
return 1;
}
好家伙,printf不能这么用的。你要再写一个打印链表的函数才行。