C语言数据结构基础问题:两个有序链表并为一个有序链表

R-apunzel 2015-04-01 11:48:00
void MergeList_L(LinkList &La LinkList &Lb LinkList &L)
{
pa=La->next;
pb=Lb->next;
Lc=pc=La;
while(pa&&pb)
{
if(pa->data<=pa->data){
pc->next=pa;
pc=pa;
pa=pa->next;}
else{pc->next=pb;
pc=pb;
pb=pb->next}
}
pc->next=pa?pa:pb;
free(Lb);
}
题意说pa pb分别为链表La Lb当前带比较插入的结点,pc是Lc的最后一个结点。
我不明白的是:
pc->next=pa;
pc=pa;
这两个语句。为什么把Lc的第一个结点和头结点都连上pa?
...全文
230 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
苏叔叔 2015-04-02
  • 打赏
  • 举报
回复
有序链表合并且去重 http://blog.csdn.net/zhangxiangdavaid/article/details/26340587
一根烂笔头 2015-04-01
  • 打赏
  • 举报
回复

-     if(pa->data<=pa->data){
+     if(pa->data<=pb->data){
找一个笔,一张纸,自己画!
jiht594 2015-04-01
  • 打赏
  • 举报
回复
1, 有个pc和pa两个节点 [ ] [ ] || || pc pa -------------------------- 2. pc->next = pa [ ] -> [ ] || || pc pa ---------------------------------- 3 pc=pa [ ] ->[ ] || pc=pa

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧