请大神指教一下,调试显示 q 是nullptr,谢谢了
# include <malloc.h>
# include <stdlib.h>//exit
# include <stdio.h>
typedef struct Node
{
int data;
struct Node *next;
}Node, *LinkList;
LinkList Create_List(LinkList &L)
{
Node *p, *q;
int i, n;
int data;
L = (LinkList)malloc(sizeof(Node));
q = L;
printf("链表的长度为:");
scanf_s("%d", &n);
for (i = 0; i<n; i++)
{
scanf_s("%d", &data);
p = (struct Node*)malloc(sizeof(struct Node));
p->data = data;
q->next = p;
q = p;
}
q->next = NULL;
return L;
}
LinkList Merge_List(LinkList La, LinkList Lb)
{
Node *p, *q;
LinkList L;
L = (LinkList)malloc(sizeof(Node));
L = NULL;
p = La->next;
q = Lb->next;
while (La&&Lb)
{
if (La->data<Lb->data)
{
L = p;
p = p->next;
}
else
{
L = q;
q = q->next;
}
}
L = p ? p : q;
return L;
}
LinkList Reverse_List(LinkList L)
{
Node *p, *q;
p = L->next;
L->next = NULL;
while (p != NULL)
{
q = p->next;
p->next = L->next;
L->next = p;
p = q;
}
return L;
}
void Print_List(LinkList L)
{
Node *p = L->next;
while (p != NULL)
{
printf("%d", p->data);
p = p->next;
}
printf("\n");
}
int main()
{
LinkList La, Lb;
La = (LinkList)malloc(sizeof(Node));
Lb = (LinkList)malloc(sizeof(Node));
Create_List(La);
Create_List(Lb);
Print_List(Merge_List(La, Lb));
}