單連結串列中元素A,B,C,p next p next next這句話是刪除節點B

2021-05-06 04:40:13 字數 3940 閱讀 1127

1樓:匿名使用者

理解沒有錯誤啊,如果直接執行p->next=p->next->next 的結果從c或者c++而言,就是將a結點的後繼指標域指向了c結點,其實結點b的空間並沒有釋放,因此有記憶體洩漏,一般正常的做法是這樣的:

q = p->next;

p->next = q->next;

free(q); 或者c++是delete q;

"p->next=p->next->next"在順序連結串列中怎麼理解?

2樓:匿名使用者

首先看等式兩邊,左邊是賦值的一方,想不考慮,看右邊。

p->next->next 在p初始為a的時候,p->next->next 指向的是c(應該可以理解吧)

然後是左邊的式子:p->next,意思是p的下一個節點,而將p->next賦值到c意思就是

p的下一個節點是c,這就把b從連結串列中移除了,其實還需要之後執行一個釋放的操作

free(b)

p->next=p;和p=p->next;有什麼區別?

3樓:匿名使用者

p->next=p表示節點p的下一個節點還是p,如果連結串列只有p節點,那麼這樣就變成了一個迴圈連結串列

p=p->next表示修改指標p的位置,把p指向原來的下一個節點

4樓:守望者

p為指標,第一個指連結串列中p的下一個元素為p,也就是自己。第二個p指向p的下一個元素。

5樓:匿名使用者

假設p->next型別也是和p是同一種指向結構s的指標指標p指向的地址假設為1000h

p->next指向的地址假設為2000h

注:它們倆的地址一般也是由malloc分配,所以並不是由地址大小來區分前後關係,主要還是由你的程式來定義他們之間的資料結構的

p->next = p;

p=p->next;

要說明白他們之間的區別得看你的程式啦.....--__--b

6樓:匿名使用者

1、連結串列中p的下一個元素為p,也就是自己。2、p等於p的下一個元素。

7樓:匿名使用者

此處可理解為連結串列,p->next就是p指標的下一指標空間,即在連結串列中p指標節點下一節點;p->next=p;此語句即時將p指標地址賦給p的下一個節點,相當於將 p->next 節點往前移動,本來取p->next節點的下一個節點是 p->next->next ,現在實際上變成取 p->next 了;而 p=p->next ;此語句是將p節點往後移動一個節點,原本取p節點的下一節點是p->next,現在實際上是取p->next->next了,相當於p節點往後移動,希望能夠幫到你!

p->next=p->next->next 和p=p->next有什麼區別

8樓:leader暗靈

假如原來是這樣一個鏈……a->b->c……(即a、b、c是三個連續元素),指標p指向a,那麼p->next就是b,p->next->next就是c,經過p->next=p->next->next,就變成a的下一個直接指向c,即:a->c

所以p=p->next就是更新p(假設p->a)的指標域為b的地址即p->b

資料結構中:s->next=p->next;p->next=s.怎麼解釋。

9樓:lb躍鈥岡

s->data=e;//將節點s的data值設定為e

s->next=p->next;//連結串列指標的賦值,將p的下一個節點的位置付給了s的下一個節點

p->next=s;   //實現插入,把s接到p的下一個節點上

10樓:陸舒傑

這個應該是連結串列裡面最常遇見的問題了!

s->next的意思是s指向的某個(如結構體)變數中的next這個成員本身

然後把p->next的地址賦值給s->next,也就是說s->next指向p->next

連結串列中使用的較多!一個連結串列的一個節點包括資料域和指標域兩部分,s->next指向的是p->next這個節點!

希望幫助到你!

11樓:風嘯無名

1) 把p的下一個節點上到s的下一個節點上2) 把s接到p的下一個節點上

3) 把p的一下個節點賦值給s

定義和用法

next() 函式將內部指標指向陣列中的下一個元素,並輸出。

相關的方法:

prev() - 將內部指標指向陣列中的上一個元素,並輸出current() - 返回陣列中的當前元素的值end() - 將內部指標指向陣列中的最後一個元素,並輸出reset() - 將內部指標指向陣列中的第一個元素,並輸出each() - 返回當前元素的鍵名和鍵值,並將內部指標向前移動

12樓:足球隊聯絡員

我想了一晚上,得出結論如下

13樓:匿名使用者

s指向的是x吧,第一句的意思是把b向後挪一下,第二句的意思是把x插進來。

14樓:歲月丿一殤

雖然有點晚了,我來解釋一下。

s->next=p->next的意思很簡單,就是把p結點的下一個結點的地址給s結點的下一個結點。

因為這是要在p結點和p->next結點之間插入s結點。所以p->next結點是在s結點之後的,第一句就是這個意思,達成p->next與s的連線,p->next結點就在s結點之後了。

第二句p->next=s 這句的意思就是把s結點的位置放在p結點之後的意思。

這麼一來就是p->next結點在s結點之後,p結點在s結點之前,這麼說能懂嗎?

資料結構中:p->next=p->next->next是什麼意思?

15樓:武當單挑王

把指標下一個指向的下一個點改為指向下一個點

16樓:葉子離去是紀念

舉個通俗的例子:假如原來是這樣一個鏈……a->b->c……(即a、b、c是三個連續元素),指標p指向a,那麼p->next就是b,p->next->next就是c,經過p->next=p->next->next,就變成a的下一個直接指向c,即:a->c

c語言中s->next=p->next什麼意思

17樓:書櫃裡的酒瓶

連結串列指標的賦值,將p的下一個節點的位置付給了s的下一個節點,望採納

連結串列就地逆置p->next=head->next意思

18樓:匿名使用者

注意head每次指向哪個節點

head->next總是指向已經經過逆置的最後一個節點,也就是新的經過逆置的頭節點

所以每次完成一個新的節點的逆置,要將其next指向上一個逆置的節點,剛好是head->next指向的節點

比如原來有連結串列 a->b->c->d->null

開始head->next = a, head->next->next=b

首先讓p=a,並讓a->next=null, 也就是讓a成為尾節點

然後q指向b,此時head->next還是指向a的,也就是剛剛完成逆置的節點

while開始之後

每次都將q賦值給p,於是 p=b, q =c, b->next=head->next = a, head-next = b

此時head->next指向b,剛好又是剛完成逆置的節點

以後繼續迴圈

在一個雙連結串列中刪除*p結點之後的一個結點的操作是 a.p->next=p->next->next,

19樓:匿名使用者

這個當然是選擇b啦,第一步已經將p->next指標指向了他的下一個節點的下一個節點,這樣再訪問p->next的時候實際上已經是未變前的下一個節點的下一個節點。

自然界中元素種類多少種自然界存在的元素有多少種

你問的很有道理。1 人們已經發現的天然元素種類,確切的說,比較穩定的是94種2 但是由於放射性的存在,還有一些不穩定的天然元素短時間存在,所以這個資料只是個大概 3 這樣就會出現不同的地方,說法不一的現象4 我們周圍世界的物質是由100多種元素組成的 這句話時的資料是大概,不必糾結。5 另外編者確實...

DNF中元素師怎麼加點才好?修什麼屬性比較好?

建議不洗點。你是女玩家還是男玩家?根據你的操作技巧 來判定如何洗點 希望。不懂的我願意繼續為你!dnf元素師怎麼加點 sp模擬器加點情況 職業 大魔導師。等級 60總sp 4171 已用sp 4170 剩餘sp 1 任務獲得 690 已借sp 0 技能分類 元素 魔法記憶,等級 10 暗影夜貓,等級...

c語言,從檔案中讀取單連結串列並輸出

需求有點不清晰,你要從檔案裡取什麼東西出來?我改了從txt取每一行的字串出來,記錄在你的連結串列,你參考一下 include stdafx.h include stdlib.h intmain phead inti file fp fopen d text.txt rb 一個有內容的txt文字,自己...