很想問c資料結構裡面工作指標,很想問c 資料結構裡面,工作指標p next head next 問題 到底怎麼區分那個箭頭

2021-05-06 04:40:12 字數 3144 閱讀 6684

1樓:解放宣言

p->next就是(*p).next。

這個寫法看上去像是連結串列裡的插入,next應該是一個指向下一個節點的指標。

(另外吐個槽,頭部插入一般不都直接p->next=head;head=p;麼?你要在第二項插入?)

在資料結構中有 head,next,curr都是link類的指標「head->next」是什麼意思?

2樓:

head 應該是個結構體指標,next應該是結構體成員只不過型別也是結構體指標

head->next 就是head所指向的結構體的next的值呀結構體型別在c++中也是類

請從c基礎開始學習,這些都是最基本的

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

3樓:匿名使用者

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

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

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

資料結構中r=head; p=head->next; 代表什麼意思? 20

4樓:浪子惟安

是連結串列的資料結構

連結串列頭head,表頭後接的第一個節點head->next第一句話的意思是把表頭地址賦值給r

第二句話把表頭後的一個節點地址賦值給p

5樓:岔路程式緣

r=head;——讓指標r指向頭結點

p=head->next;——讓指標p指向頭結點的下一個結點,也就是第二個結點

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

6樓:武當單挑王

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

7樓:葉子離去是紀念

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

資料結構中 *head = q->next; q->next=p; p=q; q=*head,怎麼解釋;

8樓:茫程傷

資料結構中 *head = q->next; 表示頭指標指向q的下一個結點,

q->next=p;表示指標p指向的結點賦給q->next;

p=q表示指標p移向q所指的結點;

q=*head表示指標q移向頭指標指的結點。

我能力有限,好久沒解除了,沒有完整**,我解讀得不太明白

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

9樓:匿名使用者

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

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

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

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

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

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

p->next=s;

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

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

p=s;

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

10樓: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()函式,是建立連結串列,包含你想知道的問題,建立連結串列是一個迴圈結構。把執行結果也複製一下

c++裡p->next是什麼意思。跪求大神

11樓:

p是結構體指標,結構體裡,裡面定義了一個next變數。這種表示式表示p指向的結構體物件裡next變數

12樓:aik深藍

指標加一,指向下一個

c++連結串列問題 那個箭頭不是應該指標指向地址的麼?為什麼從左往右指? 5

13樓:匿名使用者

你是說下面那個概念圖?那麼畫只是為了讓方便理解而已。書上這樣畫你理解不了,你也可以亂畫,然後畫一條線去連結。

計算機本來又不是這樣儲存的!在物理層面,儲存空間又不見得是連續性的,假設有個一個連續的儲存空間abcde,計算機可能給你分配的空間是acd,,,

不知道該怎麼跟你解釋這個。。。

資料結構c語言描述,資料結構(C語言描述)

include include include define datatype int define maxsize 1000 typedef struct nodebitreenode datatype bt maxsize bitreenode buildbtree datatype bt,in...

c語言資料結構,C語言資料結構 快速排序的問題

將 放在變數名後,是先使用變數的值,再執行自加 自減 開始時i為左邊界,j為右邊界 以x s i 為中回間答值,將小於x的值放在左邊,大於x的值放在右邊找到大於x的值將其放在s j 中,j j 1,找到小於x的值將其放在s i 中,i i 1,直到所有數值按兩邊放好。依次在區間n,n 2,n 4,2...

資料結構C語言

其實這個是跟a與b大小的定義有關係,a與b相等的情況比較好判斷,所有元素都相等那麼就相等了。但是什麼情況下a比b大?通常的定義是根據a與b第一個不相等的元素來判斷。考慮字串的情況可以做類比,比如兩個字串 abcd 與 abce 其實可以看做是兩個順序表 a a b c d b a b c e 那麼我...