两链表合并出错,麻烦各位指出问题
我想写一个将两个升序链表合并(去重复值)的函数,但是写完了之后输出时只有表头和表尾会输出,求解为啥,这是我的函数ElemSH* SlectSheng(ElemSH* h1,ElemSH* h2){
ElemSH *hn,*t,*ins;
hn=NULL;
while(h1&&h2){
if(h1->date<h2->date){
ins=h1;
h1=h1->next;
}
else{
ins=h2;
h2=h2->next;
}
if(!hn){
hn=t=ins;
}
else{
if(t->date==ins->date){
t->next=ins->next;
free(ins);
}
else{
t->next=ins;
}
}
}
return hn;
}