(15分)设两个无头节点的单链表la和lb按数据或增次序排列,下面的算 法是将这两个单链表合并成一个按数据值域递增排列的单链表lc(利用原链表空 间)。请填充算法中下划线空白之处,完成其功能。
typedef struct node
{
int data;
struct node *next;
}lnode,*link;
link merge(link la, link lb)
{
link p, r, lc;
lc = (link)malloc(sizeof(lnode)); // 生成一个头结点
r = lc;
while (la && lb)
{
if (la->data < lb->data)
{
p = la;
_____;
}
else
{
p = lb;
_____;
}
_____;
r = p;
}
if (la = NULL) // lb 还剩下一些节点
_________;
else//la 还剩一些节点
_________;
p = lc;
lc = p->next;
free(p);
return lc;
}
查看答案和解析【26考研辅导课程推荐】:26考研集训课程,VIP领学计划,26考研VIP全科定制套餐(公共课VIP+专业课1对1) , 这些课程中都会配有内部讲义以及辅导书和资料,同时会有教研教辅双师模式对大家进行教学以及督学,并配有24小时答疑和模拟测试等,可直接咨询在线客服老师领取大额优惠券。
启航教育热门私房课
MORE小班面授 名额有限 抢先体验
编辑推荐
最新内容
姓名
手机号