有劳大神帮忙看下,编译是总是出现非法访问情况,非常感谢[em28][em28]
/*已知两个带头结点的单链表L1和L2中的结点值均已按升序排序,设计算法函数
linklist mergeAscend (linklist L1,linklist L2)将L1和L2合并成一个升序的
带头结单链表作为函数的返回结果;*/
#include "slnklist.h"
/*请将本函数补充完整,并进行测试*/
linklist mergeAscend(linklist L1,linklist L2)
{
linklist L3;
node *p,*q,*r,*s;
p=L1->next;
q=L2->next;
L3=r=(linklist)malloc(sizeof(node));
L3->next=NULL;
while(p->next)
{
while(p->info>q->info&&q->next)
{
s=(linklist)malloc(sizeof(node));
s=q->info;
r->next=s;
r=s;
q=q->next;
}
s=(linklist)malloc(sizeof(node));
s=p->info;
r->next=s;
r=s;
p=p->next;
}
while(q->next)
{
s=(linklist)malloc(sizeof(node));
s=q->info;
r->next=s;
r=s;
q=q->next;
}
return L3;
}
[local]1[/local]