void merge(struct node *p,struct node *q)
{
struct node *s,*r;
r=p;
while()//填空1
{
if(r->next->datanext->data)
() //填空2
else if(r->next->data>q->next->data)
{
s=q->next;
()=s->next;//填空3
s->next=();//填空4
()=s;//填空5
();//填空6
}
else
{
r=r->next;
s=q->next;
();//填空7
free(s);
}
}
if()//填空8
{
r->next=q->next;
free(q);
}
}
C语言填空题求教===假设链表p和链表q中的结点值都是整数,且按结点值递增次序链接起来的带表头结点的单链表,在每个链表中,每个结点的值各不相同,但链表p和链表q可能有值相同的结点。下面函数将链表q合并到链表p中,使得合并后的链表仍为按结点值递增有序的单链表,且链表中每个结点的值各不相同。