主頁(yè) > 知識(shí)庫(kù) > 給定鏈表中間節(jié)點(diǎn)指針,刪除中間節(jié)點(diǎn)的方法

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

熱門(mén)標(biāo)簽:百度地圖標(biāo)注錯(cuò)了有責(zé)任嗎 客服外呼系統(tǒng)怎么樣 華鋒e路航港口地圖標(biāo)注 地圖標(biāo)注員都是年輕人 河南信譽(yù)好的不封卡電話外呼系統(tǒng) 如果做線上地圖標(biāo)注 打電話機(jī)器人接我是他的秘書(shū) 江蘇云電銷機(jī)器人公司 揭陽(yáng)智能電話機(jī)器人推薦
問(wèn)題如下
輸入:鏈表 a->b->c->d->e中指向節(jié)點(diǎn)c的指針
輸出:無(wú)返回值,但新鏈表變?yōu)閍->b->d->e
解答:
想了好久沒(méi)想出來(lái),看了提示才知道解法的。這里用到了一個(gè)小技巧。要?jiǎng)h除中間節(jié)點(diǎn),但是我們不知道要?jiǎng)h除節(jié)點(diǎn)的上一個(gè)節(jié)點(diǎn)p,所以無(wú)法通過(guò)修改指針的方法(p->next=del->next)來(lái)刪除節(jié)點(diǎn),但知道要?jiǎng)h除節(jié)點(diǎn)的后一個(gè)節(jié)點(diǎn),那么我們換一個(gè)思路,把要?jiǎng)h除的節(jié)點(diǎn)的數(shù)據(jù)與該節(jié)點(diǎn)的后一個(gè)節(jié)點(diǎn)的數(shù)據(jù)交換,然后刪除后一個(gè)節(jié)點(diǎn),從而達(dá)到目的。但是該方法不能刪除最后一個(gè)節(jié)點(diǎn),原因顯而易見(jiàn)。
復(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)核鏈表實(shí)現(xiàn)過(guò)程
  • 編碼實(shí)現(xiàn)從無(wú)序鏈表中移除重復(fù)項(xiàng)(C和JAVA實(shí)例)
  • 用C和JAVA分別創(chuàng)建鏈表的實(shí)例
  • java單向鏈表的實(shí)現(xiàn)實(shí)例
  • C++中單鏈表的建立與基本操作
  • STL list鏈表的用法詳細(xì)解析

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

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