C語言,這個連結串列部分是什麼意思?head p q next p q p

2021-04-20 13:18:44 字數 4299 閱讀 7677

1樓:匿名使用者

q->next = p; 表示將節

來點源p加入到節點

baiq之後。

具體的意思可以du參考如下的圖形表示:

節點zhiq----->節點p

一般連結串列的節點定義為dao:

struct node;

c語言連結串列中q->next=p;表示什麼意思?

2樓:南瓜蘋果

q->next = p; 表示將節點p加入到節點q之後。

意思:使當前指標指向連結串列的下一個結點。

一般作用在資料結構中的單連結串列裡由應用,語句中的p一般指向一個結構體型別的資料,此型別的資料通常表示節點;結構體裡存放的一些資料和記錄下一個節點地址的指標變數next;這個next就好比鏈條一樣,連線著一個個節點。

->是一個整體,它是用於指向結構體、c++中的class等含有子資料的指標用來取子資料。換種說法,如果在c語言中定義了一個結構體,然後申明一個指標指向這個結構體,那麼要用指標取出結構體中的資料,就要用到「->」.

擴充套件資料連結串列的特點:

1、n個節點離散分配

2、每一個節點之間通過指標相連

3、每一個節點有一個前驅節點和一個後繼節點4、首節點沒有前驅節點,尾節點沒有後繼節點建立連結串列前須知

首節點:存放第一個有效資料的節點。

頭節點:在單連結串列的第一個結點之前附設一個結點,它沒有直接前驅,稱之為頭結點,頭結點的資料域可以不儲存任何資訊,指標域指向第一個節點(首節點)的地址。頭結點的作用是使所有連結串列(包括空表)的頭指標非空。

頭指標:指向頭節點的指標。

尾節點:存放最後一個有效資料的節點。

尾指標:指向尾節點的指標。

3樓:匿名使用者

q-.next=p;

把p的地址賦給q的下一個地址

while (q)

把q的下一個地址賦給r;

p的地址賦給q的下一個地址;

q的地址賦給p的地址

r的地址賦給q;

直到q->next的地址為0就結束迴圈

其實連結串列要自己多畫畫就直到怎麼回事了

4樓:天雲一號

q->next = p;  表示將節點p加入到節點q之後。

具體的意思可以參考如下的圖形表示:

節點q----->節點p

一般連結串列的節點定義為:

struct node;

5樓:天地一孤鴻

把p(是指標,表示地址)賦給q的地址域。

6樓:匿名使用者

前面沒有說明r ,p,q是指向什麼的指標啊,後面就難猜了

c語言連結串列for語句中(p=head→next)是什麼意思?

7樓:

把head指向的結構體的next指標賦值給p,即處理完一個結構體,用p指向下一個結構體。

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

8樓:匿名使用者

注意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->next=head->next; head->next=p; 請問在連結串列中這個是什麼用 30

9樓:聽不清啊

這個是把指標p所指的結點插入到佇列頭上。

while(p->data!=0)

else //不空時,就插入到原佇列之前,新結點作為隊首結點這個

10樓:army1椒rz迫

目的就是把p插入到連結串列中去,你想想,首先將h的下一個節點賦給p的下一個節點,然後再把h的下一個節點變成p,這就是把p插入到連結串列中去的意思

c++ 連結串列中p=head, p->next=s , s=p的含義?

11樓:匿名使用者

首先,你要理解p指標的含義。

根據你的描述,p指標應該是連結串列內遍歷各節點的指標,那麼這個指標是不停移動的。

而head指標永遠指向連結串列的頭結點。

開始,要讓自己宣告的指標p指向連結串列的頭結點。所以有p=head;

進行完這個操作後,p指標和head指標同時指向了連結串列的頭結點。

下面,我們要向連結串列中插入一個節點,那麼這個新插入的節點是什麼呢,就是指標s指向的節點。因為連結串列中每個節點的next指標指向了下一個節點的地址,因此有

p->next=s;

這句話的意思是,讓s指標指向的節點連線在p指標指向節點的後面。

最後,我們又要插入新的節點,那麼,必定是要插入在剛才s節點之後的位置,因此,需要移動p指標到剛才s指標指向的節點的位置,所以有

p=s;

記住,連結串列中,永遠只有一個指標移動,這個指標就是p指標。

12樓:enjoy冰心玉壺

我想上面的**應該是在建立連結串列時需要的。比如有下面的資料結構:

struct node

;連結串列中一般都有頭結點,就是head,其中可以存放資料,也可以不存放資料。在動態建立連結串列的過程中,肯定需要定義一個新的結點,比如pnext。

pnext=(struct node *)malloc(sizeof(struct node));

這時候應該將頭結點head的next域指向該新的結點。但是head一般不移動,因為移動後就找不到頭結點了。所以定義一個指標p,p在開始時指向頭結點,就是

p=phead;

建立完新的結點後,p的next域指向該新結點。由於下一次還要建立新節點,所以p要再指向現在已經建立好的新結點。這樣下一次建立新的結點時才能正確指向該節點。

不知道表達的好不好,把源程式複製在下面吧,應該看一下程式就懂了。

#include

#include

struct node

;struct node *create_list();

void display_list(struct node *p);

int main()

struct node *create_list()

return phead;

}void display_list(struct node *p)

}程式沒有錯誤的,可以執行,可以看一下create_list()函式,是建立連結串列,包含你想知道的問題,建立連結串列是一個迴圈結構。把執行結果也複製一下

單連結串列中head=p是什麼意思? 40

13樓:道峰山營

單連結串列中head=p是為了儲存頭節點指標。

單連結串列是一種鏈式存取的資料結構,用一組地址任意的儲存單元存放線性表中的資料元素。

連結串列中的資料是以節點來表示的,每個結點的構成:元素(資料元素的映象) + 指標(指示後繼元素儲存位置),元素就是儲存資料的儲存單元,指標就是連線每個結點的地址資料。

以「結點的序列」表示線性表稱作線性連結串列(單連結串列)。

單連結串列是鏈式存取的結構,為找第 i 個資料元素,必須先找到第 i-1 個資料元素。因此,查詢第 i 個資料元素的基本操作為:移動指標,比較 j 和 i

14樓:

初始構建連結串列的常用演算法…p,q置換是為了連線節點…head=p是為了儲存頭節點指標

15樓:

head=p 把p賦值給head

p=p->next 指標移位,向後移一

16樓:小爆

收起sql語法問題

提問者: 匿名

declare @name nvarchar(50) set @name=m_name.value select * from sum where name2=@name

c語言中是什麼意思,C語言中 是什麼意思

等於的意思 是賦值的意思。只要理解到 賦值不是等於 就能分辨了。比如 int a a 2 賦值,讓a的值變成2 a原來是多少是不知道的 if a 3 判斷 a是否等於3,此時a的值仍然是2a 這是一個邏輯符號,也就是說,結果是真或者假.a b 當a與b相等時是真,否則為假.還有,迴應一下klboy1...

c語言裡的t是什麼意思C語言C是什麼意思

樓上寫錯了,應該是 轉義字元 而不是 轉移字元 轉義字元是一種特殊的字元常量。轉義字元以反斜線 開頭,後跟一個或幾個字元。轉義字元具有特定的含義,不同於字元原有的意義,故稱 轉義 字元。例如,在前面各例題printf函式的格式串中用到的 n 就是一個轉義字元,其意義是 回車換行 轉義字元主要用來表示...

c語言中是什麼意思C語言中x是什麼意思

非x即not x也就是說,表示x的相反的一面 如果if x 成立,那麼if x 就不成立。反之亦然。如果x不是零,那 x就變成零,如果x是零,那麼 x就變成1 x 字串 內容是 x x 註解行 x 註解行 條件 if x 0 printf x not equ zero n else printf x...