合并两个有序的单链表 C语言

haofannaaa 2016-11-20 06:53:39
一直搞不懂哪里出现问题。这个题目一定要以free(L2) 结尾。 L1作为最后合并的结果。大神们救我
void merge(LL_t *L1, LL_t *L2){
if (L2->head == NULL) {
}
else if (L1->head == NULL) {
*L1 = *L2;
}
else{
node_t* curr2=L2->head;
while(curr1!=NULL || curr2!=NULL){

if(curr1->data < curr2-> data){
curr1=curr1->next;
prev1=prev1->next;
}
else if(curr1->data > curr2-> data)
{
curr2->next=curr1;
prev1->next=curr2;
curr2=curr2->next;
}
}
if(curr1==NULL && curr2!=NULL){
prev1=curr2;
L1->tail=L2->tail;
}


}
free(L2);
}




...全文
752 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gldcpp 2016-11-21
  • 打赏
  • 举报
回复
merge sortion
haofannaaa 2016-11-21
  • 打赏
  • 举报
回复
typedef struct { node_t * head; node_t * tail; } LL_t; typedef struct _node{ int data; struct _node *next; } node_t; 你是说这段code吗 prev1 , curre1 还有curr2 只是我自己创建的node
softee 2016-11-20
  • 打赏
  • 举报
回复
curr1, prev1等变量都没有赋初值啊,代码没法看明白。

69,368

社区成员

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

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