資料結構中,單連結串列p L與p L next有什麼區別 p next s與p next s

2021-05-31 11:52:37 字數 3845 閱讀 5531

1樓:熱情的

l在資料結構中一般是作為連結串列頭節點的指標,p=l,將p指標也指向頭節點。

l->next有兩層含義,可以表示l的後繼節點指標,又可表示l的指標域,(補充:連結串列每個節點分為資料域和指標域,(單連結串列的指標域只有後繼指標域,雙連結串列的指標域分為前趨指標域和後繼指標域))。第一,當它在等號右邊時(即x = l->next形式)一般是指將x指標指向頭節點l的後一個節點也就是連結串列的第一個資料節點;第二,當它在等號左邊的時候(即l->next = x),表示將x的值當做地址,寫入到l的後繼指標域l->next當中,相當於頭節點l的後面連結一個資料節點。

基礎概念理解後,對於p->next=s與p->next=s->next就好理解了,p->next=s:將指標變數s的值寫入p的後繼指標域,相當於p資料節點後又連結一個指標s指向資料節點,p->next=s->next:將s節點後接的節點的地址寫入到p節點的後繼指標域,相當於p節點插入到原先s節點與s的後接節點中間。

中間邏輯建議畫圖理一遍,理順了以後再見到就能很快看明白的。

2樓:匿名使用者

p和l都是資料結構物件嗎 p=l是把資料結構l的每個變數的值賦給p 另個是把l裡的next變數的值賦給p 第二種好像錯的吧。第二個第一種是把s的首地址賦給p的next變數 第二種是把s的next值賦給p的next

3樓:雨後小故事

l->next是l後的下一個資料

c語言單連結串列中l->next = p 和 p = l->next的區別? 10

4樓:

l->next = p l->next指向p指向的節點。

p = l->next p指向l->next指向的節點。

資料結構 *p=l->next和p=l->next分別是什麼含義?l是個連結串列 20

5樓:匿名使用者

假設l是連結串列,那next就應該是下一個節點的地址*p = l->next; //p的型別應該是l**p = l->next // p的型別應該是l*意思就是讓p等於l的下一個節點地址

c語言p=l;是什麼意思,還有p=l->next;是什麼意思,這兩個語句有什麼區別,l為連結串列的頭結點 5

6樓:匿名使用者

以後問的時候希望再說的清楚一點

問這個問題看來你c的知識瞭解的還不是很夠,連結串列的知識也有點貧乏啊連結串列的話 這裡p,l的型別應該都是自己定義的結構體 node大致struct node

node這個結構體裡存放了兩個變數,

entry就是節點的內容,next是一個node型指標,存放著下一個節點的地址,指向下一個節點

而所謂連結串列就是一串節點連在一起,像陣列一樣,比陣列的優點就是比如在陣列中間要插入一個數的話,插入位置之後的每一個元素都要向後移一位,而連結串列的話只需要修改插入位置前的節點的指標就可以了。

你這裡的兩個語句都是簡單的賦值,p = l;就是把讓自己定義的node p = 頭結點,

而p = l->next就是讓p = 頭結點的後一個節點。

這裡 ->是結構體中的運算子,表示使用這個結構體中的某個指標變數。

7樓:紅領巾飄過

p=l是讓p指向l這個節點。 p=l->next是讓p指向l的下一個節點。首先連結串列定義中next的定義必須是指向l型別的指標。

資料結構中p->next=p和p=p->next的區別?

8樓:匿名使用者

=號表示把右邊的值賦gei左邊。

p->next=p,表示p下一個節點還指向p

p=p->next,表示p的指標內容變成了p->next

建立連結串列時,p->next=s;與p=s;有什麼區別??分別是什麼意思???

9樓:lzs丶灬

首先把s指向p後面的一個節點,就是把s接到p後面

然後把p指向s這個節點,就是把p指向p後面這個節點

這兩句話執行後就是p=s=之前的p->next

10樓:蛋蛋愛你吧

就是把p指向的結點裡的next指標指向s,p指向的是最後的一個結點,現在最後的結點是s,所以改變p的指向,讓p指向了s,下次迴圈又是一樣,

資料結構連結串列中,p是指標,l是連結串列,那麼p=l是什麼意思,是p指向l的頭結點,還是p等於l的每個值

11樓:gta小雞

l是一個結點指標,它指向某個連結串列的頭結點,p=l之後,p也就指向了這個連結串列的頭結點。

p==l,判斷指標p和指標l是否相同

12樓:迷途羔羊

p=l 把l指向地址付給pp和l同時執行同記憶體地址p=p->next p移了l鏈下地址指向了l下元素地址l->next=null l值只空指標地址00建立二叉搜尋樹並查詢父結點

求單連結串列的長度

指標陣列的每個元素都是一個指標變數

靜態連結串列和動態連結串列的區別

資料結構建立單連結串列

鄰接表儲存圖的廣度優先遍歷

帶頭指標l的雙向迴圈連結串列中,指標p指向雙向迴圈連結串列的尾結點...

這樣應該有這樣的關係: 尾結點->頭結點。又因為連結串列是雙向的,所以頭結點應該有指向尾結點的指標,即:

尾結點<-頭結點。如果p指向尾結點,則有p->next == l,而l->p...

13樓:中兵勘察海外部

就是指標儲存了表的值,本來應該是指標儲存表的地址,

是等於第一個,然後可以增加而得到第二,三……

14樓:

l的本質為指向連結串列頭結點的指標,p=l即把l這個指標本身的地址賦給了p指標的地址,也就是說p指標和l指標現在是一模一樣的指標。

p==l一般用於判斷語句: if(p==l),在上面p=l賦值後,p==l成立,這個語句的結果為真(true)。

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

15樓:匿名使用者

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

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

16樓:守望者

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

17樓:匿名使用者

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

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

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

p->next = p;

p=p->next;

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

18樓:匿名使用者

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

19樓:匿名使用者

此處可理解為連結串列,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節點往後移動,希望能夠幫到你!

資料結構中,怎樣以二叉連結串列為儲存結構,分別寫出求二叉樹結點總數及葉子總數的演算法

同學,你們老師和我們老師留的作業是一模一樣的阿,我有現成的做好了的程式,除錯成功。這個程式的難點就在於這種很彆扭的輸入形式,所以我為它設計了一個結構體形式存放輸入內容,再將它轉化成了線性結構。include include struct inform 建立輸入資訊結構體inform struct l...

資料結構中,什麼時候用,資料結構中,什麼時候用

這個是取bai地址的作du 用。一般定義一個普通變數,zhi若要dao將其在指標中呼叫就專要用 如int a 要將屬a在函式void hanshu int t 中呼叫的話,那麼就應該寫成hanshu a 另外在鍵盤輸入資料的時候也要用到,比如scanf d a 這個符號,主要用在這兩個地方。在資料結...

怎麼學好資料結構與演算法好難啊資料結構該怎麼學好啊,很難得樣子

先學好語言,這是學習的基礎。有些演算法書上在學習語言部分會有一點演算法包含在內,比如遞迴。要學演算法,先練好遞迴,這會對你深入學習其他演算法有很大的幫助。樹形結構是資料結構中較難的部分,也是資料結構的基礎,主要靠練。還有就是,不要總是學習理論,合上書本認真地把演算法用 和實現是最重要的。不要背 沒用...