詳細描述:
原型: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...