日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

从无头单链表中删除节点 结构之法 4

發布時間:2025/6/17 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从无头单链表中删除节点 结构之法 4 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目:

? ? 假設有一個沒有頭指針的單鏈表。一個指針指向此單鏈表中間的一個節點(不是第一個,也不是最后一個節點),請將該節點從單鏈表中刪除。

分析與解答:

假設給定的指針為pCurrent,Node *pNext=pCurrent->next(pNext指向pCurrent所指節點的下一個節點。

我們由pCurrent指向B,pNext(pCurrent->next)指向C,同理pNext->next(pCurrent->next->next)指向D,不過不能簡單地刪除B,因為那樣會使得鏈表被分割。

但是我們可以刪除C,并通過pCurrent->next=pCurrent->next->next重新使鏈表連接,其中唯一丟失的是C中的data項。這時用C中的數據取代B中的數據項,讓B成為C,然后將真正指向C的指針刪除,這樣就達到了目的。

pCurrent->next=pNext->next;
pCurrent->data=pNext->data;
delete pNext;

其實指針不過是內存中的地址而已,當處理這類題目時,先畫出清晰的圖表會很有幫助。

?

?

擴展問題:

編寫一個函數,給定一個鏈表的頭指針,要求只遍歷一次,將單鏈表中的元素順序反轉過來。

Node *p=head->next;
Node *e=NULL;
Node *q;
while(p->next!=NULL)
{
q=p->next; //記錄下一個節點
p->next=e; //e記錄的是轉置之后的鏈表的第一個節點,
e=p; //增加當前節點為轉置的目標鏈表的第一個節點
p=q; //待操作的鏈表的節點逐漸減少,目標鏈表逐漸增加
}

轉載于:https://www.cnblogs.com/zdblog/p/3665531.html

總結

以上是生活随笔為你收集整理的从无头单链表中删除节点 结构之法 4的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。