已给如下关于单链表的类型说明:
typedef struct node
int data;
struct node *next;
}listnode, *list;
以下程序采用链表合并的方法,将两个已排序的不带头结点的单链表合并成一个链表而不改变其排序性(升序),这里两个链表的头指针分别为p和q。请将算法补充完整。
void mergelink(list p, list q)
{
list h,;
h=(listnode *)malloc(sizeof(listnode));
h->next=NULL; r=h;
while(p&&q)
if (p->data<=q->data)
(1); r=p: p=p->next;)
else
{(2); r=q; q-q>next;)
if (!p)r->next=q;
if(q)(3);
p=h->next; free();
}
(1)
(2)
(3)
订单号:
遇到问题请联系在线客服
订单号:
遇到问题请联系在线客服