多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > 輸出單鏈表中倒數第k個結點

輸出單鏈表中倒數第k個結點

來源:程序員人生   發布時間:2015-03-03 08:40:15 閱讀次數:2942次

題目:輸入帶頭結點的單鏈表L,輸出該單鏈表中倒數第k個結點。單鏈表的倒數第0個結點為該單鏈表的尾指針。要求只能遍歷1次單鏈表。


解題思路:
如果不要求只能遍歷1次單鏈表,我們可以先遍歷1次單鏈表,求出它的結點的總個數n(包括頭結點),所以單鏈表的結點是從倒數第n⑴個到倒數第0個,然后再遍歷1次單鏈表,遍用時訪問的第n-k⑴個結點就是該單鏈表中倒數第k個結點?,F在要求只能遍歷1次單鏈表,可以設兩個指針p和q,最開始時它們都指向頭結點,然后p向后移動k位,最后p,q同時向后移動直到p為最后1個結點,那末此時q即為所求。


ADT定義以下
#define ElemType int
typedef struct LNode{
    ElemType data;
    LNode *next;
}LNode,*LinkList;


算法實現:

LNode* reciprocalKNode(LinkList &L,int k) { if(k<0) { printf("k不可以為負數"); return NULL; } if(L==NULL) { printf("單鏈表為空"); return NULL; } LNode* p=L; LNode* q=L; while(k>0) { p=p->next; if(p==NULL) { printf("單鏈表太短,不存在倒數第k個結點"); return NULL; } } while(p->next!=NULL) { p=p->next; q=q->next; } return p; }

PS:這1題對不帶頭結點的單鏈表的解法是1模1樣的,只是我們通經常使用到的單鏈表都是帶頭結點而已。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 一级毛片一级毛片免费毛片 | 亚洲黄a | 手机看片日韩高清国产欧美 | 国产色综合一区二区三区 | 欧美一级人与动毛片免费播放 | 亚洲日本在线观看网址 | 久久综合中文字幕一区二区三区 | 最近的免费中文字幕1 | 成 黄 色 激 情视频网站 | 亚洲第一页国产 | 日本午夜理伦三级在线观看 | 久久精品国产欧美 | 理论片一级 | www.亚洲色图 | 国产日韩不卡免费精品视频 | 午夜私人福利影院 | 日韩视频在线观看一区 | 黄网址大全免费观看免费 | 尤物福利在线 | 福利片视频区 | 最近高清中文在线字幕在线观看 | 婷婷色九月综合激情丁香 | 波多野结衣手机视频一区 | 国产亚洲精品一区二区在线观看 | 国产精品揄拍一区二区 | 我的奶好大想被男人吃奶 | 亚洲欧美一区二区久久 | 极品丝袜高跟91极品系列 | 91精品久久久久久久久中文字幕 | 久久精品免费一区二区三区 | 亚洲啊v| 欧美性xxxx另类 | 免费中文字幕 | 国农村精品国产自线拍 | 天堂 在线最新版在线 | 一级做a爰片性色毛片男 | 欧美最猛黑人xxxxwww | 国产成人毛片毛片久久网 | 美国毛片免费看 | 久久精品一区二区三区日韩 | 三级欧美在线 |