描述
輸入乙個單向鍊錶,輸出該鍊錶中倒數第k個結點,鍊錶的倒數第0個結點為鍊錶的尾指標。鍊錶結點定義如下:
struct listnode
;
詳細描述:輸入介面說明
原型:
listnode* findkthtotail(listnode* plisthead, unsignedint k);
輸入引數:
listnode* plisthead
單向鍊錶
unsigned int k
倒數第k個結點輸出引數(指標指向的記憶體區域保證有效):
無 返回值:
正常返回倒數第k個結點指標,異常返回空指標
輸入說明輸出1 輸入鍊錶結點個數
2 輸入鍊錶的值
3 輸入k的值
輸出乙個整數樣例輸入
8樣例輸出1 2 3 4 5 6 7 8
4
4建立鍊錶
統計數量
查詢元素
也可以倒著插入,這樣正向查詢就好了!!!
記得釋放記憶體!!!
#include
#include
using
namespace
std;
struct listnode
;/*listnode* findkthtotail(listnode* plisthead, unsignedint k);
輸入引數:
listnode* plisthead 單向鍊錶
unsigned int k 倒數第k個結點
輸出引數(指標指向的記憶體區域保證有效):
無返回值:
正常返回倒數第k個結點指標,異常返回空指標*/
listnode* findkthtotail(listnode* plisthead, unsigned
int k)
counter=counter-1;
if(k<0||k>=counter)
tryreturn temp;
}catch(exception ex)
}void insertnode(listnode *plisthead,unsigned
int value)
(*temp).m_pnext=newnode;
temp=nullptr;
free(temp);
}void display(listnode *plisthead)
}int main()
//display(plisthead);//輸出生成的鍊錶
cin>>k;
listnode * result = findkthtotail(plisthead,k);
if(result!=nullptr)
}
沒事喝一杯咖啡吧~~~ 喝茶也行 ~~
適當的放鬆還是非常必要的~
51 輸出單向鍊錶中倒數第k個結點
題目描述 輸入乙個單向鍊錶,輸出該鍊錶中倒數第k個結點,鍊錶的倒數第1個結點為鍊錶的尾指標。鍊錶結點定義如下 struct listnode int m nkey listnode m pnext 詳細描述 介面說明 原型 listnode findkthtotail listnode plisth...
輸出鍊錶中倒數第k個結點
題目 輸入乙個單向鍊錶,輸出該鍊錶中倒數第k個結點。鍊錶的倒數第0個結點為鍊錶的尾指標。鍊錶結點定義如下 struct listnode coder lee 20120309 include include using namespace std struct listnode void creat...
輸出鍊錶中倒數第k個結點
鍊錶中倒數第k個結點 題目描述 輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。思路 定義新結點從頭開始遍歷鍊錶,移動 k 次後停止,再定義新的結點指向煉表頭結點,兩個結點同時後移,直至前乙個為 null。注意 鍊錶可能一開始就是空的。如果 k 等於鍊錶長度,如1 2 3,k 3時應該返回原鍊錶1 2 3...