//节点数据结构
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*LinkList;
LinkList merge(LinkList a,LinkList b)
{
LinkList p,q,h,r;
p=a;
q=b;
//生成一个新表
h=(LNode*)malloc(sizeof(LNode));
h->next=NULL;
r=h;
while(p&&q)
{
if(p->data<=q->data)
{
r->next=p;
r=p;
p=p->next;
}
else
{
r->next=q;
r=q;
q=q->next;
}
if(!q)r->next=p;//如果b表已空而a表不空,将a表余部链入新表
if(!p)r->next=q;//如果a表已空而b表不空,将b表余部链入新表
}
return (h);
}
合并有序链表
最新推荐文章于 2024-08-21 12:03:50 发布