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

2021-07-25 08:55:37 字數 689 閱讀 1461

linklist mergelinkedlist(linklist &l1,linklist &l2)  

/*  

*如果l2鍊錶為空,l1鍊錶不為空,直接返回l1的首位址  

*/  

else if(b

==null&&a!=null)  

/*  

*如果兩條鏈都為空,直接返回乙個空指標  

*/  

else if(a

==null&&

b==null)  

/*  

*否則l1與l2逐一比較,找到值較小的元素,插入到l中  

*/  

else  

/*  

*第二種情況:a指標所指的元素大於與b指標所指向的元素  

*/  

else if(a->

data

>

b->

data)  

/*  

*第三種情況:a指標所指的元素等於與b指標所指向的元素  

*/  

else  

}  if (a!=null) //如果a指向的單鏈表沒有插入完,則把剩餘的插入到l的後面    

if (b!=null)//如果b指向的單鏈表沒有插入完,則把剩餘的插入到l的後面    

return l;  

}  }  

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

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

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

將兩個公升序鍊錶和並成乙個公升序序列 include includetypedef struct node linknode linknode creat linklist2 return h void printlink linknode h linknode mergelink linknode...

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

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