主頁 > 知識庫 > 給定鏈表中間節(jié)點指針,刪除中間節(jié)點的方法

給定鏈表中間節(jié)點指針,刪除中間節(jié)點的方法

熱門標(biāo)簽:百度地圖標(biāo)注錯了有責(zé)任嗎 客服外呼系統(tǒng)怎么樣 華鋒e路航港口地圖標(biāo)注 地圖標(biāo)注員都是年輕人 河南信譽(yù)好的不封卡電話外呼系統(tǒng) 如果做線上地圖標(biāo)注 打電話機(jī)器人接我是他的秘書 江蘇云電銷機(jī)器人公司 揭陽智能電話機(jī)器人推薦
問題如下
輸入:鏈表 a->b->c->d->e中指向節(jié)點c的指針
輸出:無返回值,但新鏈表變?yōu)閍->b->d->e
解答:
想了好久沒想出來,看了提示才知道解法的。這里用到了一個小技巧。要刪除中間節(jié)點,但是我們不知道要刪除節(jié)點的上一個節(jié)點p,所以無法通過修改指針的方法(p->next=del->next)來刪除節(jié)點,但知道要刪除節(jié)點的后一個節(jié)點,那么我們換一個思路,把要刪除的節(jié)點的數(shù)據(jù)與該節(jié)點的后一個節(jié)點的數(shù)據(jù)交換,然后刪除后一個節(jié)點,從而達(dá)到目的。但是該方法不能刪除最后一個節(jié)點,原因顯而易見。
復(fù)制代碼 代碼如下:

// a tricky solution,can't delete the last one element
int delete_node(NODE* node) {
  int data;
  NODE *p=node->next;
   node->data=p->data;
   node->next=p->next;
  free(p);
}
您可能感興趣的文章:
  • Linux內(nèi)核鏈表實現(xiàn)過程
  • 編碼實現(xiàn)從無序鏈表中移除重復(fù)項(C和JAVA實例)
  • 用C和JAVA分別創(chuàng)建鏈表的實例
  • java單向鏈表的實現(xiàn)實例
  • C++中單鏈表的建立與基本操作
  • STL list鏈表的用法詳細(xì)解析

標(biāo)簽:金昌 婁底 馬鞍山 邵陽 巴彥淖爾 許昌 赤峰 淘寶邀評

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《給定鏈表中間節(jié)點指針,刪除中間節(jié)點的方法》,本文關(guān)鍵詞  給定,鏈表,中間,節(jié)點,指針,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《給定鏈表中間節(jié)點指針,刪除中間節(jié)點的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于給定鏈表中間節(jié)點指針,刪除中間節(jié)點的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章