注册 登录
编程论坛 数据结构与算法

有关线性链表的合并

shiningwater 发布于 2010-10-05 23:26, 698 次点击
将两个递增的线性单链表合并成一个递减的单链表,要求不另开辟新的空间。
可以这样写吗(大致的代码)?
 merge(ah,bh)
{ la=ah;lb=bh;
 pa=la->next;pb=lb->next;
while(pa!=null&&pb!=null)
if(pa->d<=pb->d)
 {
   r=pa->next;
  pa->next=la;
  la=pa;
  pa=r;
}
else {
    r=pb->next;
    pb->next=la;
    la=pb;
    pb=r;
}
}
if(pa){
   r=pa->next;
  pa->next=la;
  la=pa;
  pa=r;
}
else {
    r=pb->next;
    pb->next=la;
    la=pb;
    pb=r;
}
return(pa);
1 回复
#2
cnfarer2010-10-06 06:59
可以分两步:1.按顺序合并,2.重排
1