兩個公升序鍊錶合併成乙個公升序鍊錶

2021-08-27 16:16:37 字數 811 閱讀 2293

//將兩個公升序鍊錶和並成乙個公升序序列 

#include#includetypedef struct node

linknode;

linknode* creat_linklist2()

return h;

} void printlink(linknode *h)

} linknode *mergelink(linknode *head1,linknode *head2)

if(!p)

else

q=head2->next;

}return head1;

}/*linknode *mergelink(linknode *head1,linknode *head2)

else

p->next=null;

t->next=p;

t=p;

}p=head1->next!=null?head1->next:head2->next;

t->next=p;

t=p;

return h;    

}*///遞迴適合於不帶表頭結點的鍊錶

//用該方法返回的是乙個不代表頭節點的鍊錶,輸出的時候從第乙個位置(head)開始輸出 

//但是以為我建立的都是帶表頭節點的,所以我在遞迴的函式中去掉了表頭節點 

/*linknode *mergelink(linknode *head1,linknode *head2)

else

return p;  

}*/int main(void)

兩個公升序鍊錶合併為乙個公升序鍊錶

linklist mergeheaderlinklist linklist l,linklist p else while header2 next null if header1 next null printf 找到比 d大的值 d n header2 next data,header1 nex...

合併兩個鍊錶成乙個公升序鍊錶

linklist mergelinkedlist linklist l1,linklist l2 如果l2鍊錶為空,l1鍊錶不為空,直接返回l1的首位址 else if b null a null 如果兩條鏈都為空,直接返回乙個空指標 else if a null b null 否則l1與l2逐一比...

合併兩個鍊錶成乙個公升序鍊錶

linklist mergelinkedlist linklist l1,linklist l2 如果l2鍊錶為空,l1鍊錶不為空,直接返回l1的首位址 else if b null a null 如果兩條鏈都為空,直接返回乙個空指標 else if a null b null 否則l1與l2逐一比...