向公升序單向鍊錶中插入乙個節點

2021-06-29 09:19:07 字數 793 閱讀 7574

詳細描述:

原型:listnode*

insertnodetolist(listnode* plisthead, listnode* pinsertnode);

輸入引數:

listnode*

plisthead  

單向鍊錶

listnode* pinsertnode 

新插入節點

輸出引數(指標指向的記憶體區域保證有效):

listnode*

plisthead  

單向鍊錶

返回值:

正常插入節點返回煉表頭指標,其它異常返回空指標

#include "oj.h"

/*功能: 輸入乙個公升序單向鍊錶和乙個鍊錶節點,向單向鍊錶中按公升序插入這個節點。

輸入為空指標的情況視為異常,另外不考慮節點值相等的情況。

輸入: listnode* plisthead 單向鍊錶

listnode* pinsertnode 新插入節點

輸出: listnode* plisthead 單向鍊錶

返回: 正常插入節點返回煉表頭指標,其它異常返回空指標

*/listnode* insertnodetolist(listnode* plisthead, listnode* pinsertnode)

//插入到頭指標位置

if(pnext == plisthead)

else

return plisthead;

}

取乙個單向鍊錶的某個節點

思路先遍歷整個鍊錶得到長度,然後根據總長度和k得到節點到頭結點的距離 public class listnode public class solution temp length k if head null k length return null while temp 0 return cur...

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

將兩個公升序鍊錶和並成乙個公升序序列 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...