資料結構(c語言版)插入元素的指標語句幫我解釋下 s next p next p next s,最好寫個程式,感謝

2021-04-20 13:18:43 字數 3741 閱讀 7514

1樓:最後選手

現將p的下

乙個位址給新元素s作為s的下乙個位址;再將s的位址作為p的下一專個地屬址。

假設q是p的下乙個位址,那麼這條鏈應該是

p->q; 現在要插入顯得位址s,所以要完成的鏈是p->s->q;

但不能直接先將s給p,那樣的話就找不到q了。所以要先s->next=p->next 再p->next=s。

2樓:肚子痛的嘛

給你直觀的乙個連結串列:

p->p1->p2 現在我要插s到p的後面第一步:

我吧p的下乙個賦給

回s的下乙個連結串列就成這樣了答:

s->pi->p2

然後我吧s放到p後面:

p->s->p1->p2

看懂了吧

連結串列的優點就是他不是連續的記憶體段所以插入很簡單 不需要像陣列那樣乙個乙個移動

但是定址就要慢一點要跳轉

3樓:猥瑣堂

我寫的比較簡單,如果還有不會的,依然可以問我。

#include

#include

#include

typedef struct ln

point;

int main()

printf("\n\n請輸入乙個大於1的元素:");

scanf("%d", &a);///比如輸入9p = head, q = head;

while(p)///找到要插入的位置,位置應該在q 和 p中間///while迴圈結束時,q指向的是5,q的next即p指向10r = (point *)malloc(sizeof(point));///新節點

r->data = a;

r->next = null;

r->next = q->next;///新節點r的next指向q的next,即指向data為10的那個節點。其實這裡用p比較容易理解

q->next = r;///然後q的next再指向r。這樣就可以構成乙個完整的連結串列

printf("插入後的連結串列為:\n");

p = head;

while(p)}

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

4樓:lb躍鈥岡

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

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

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

5樓:陸舒杰

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

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

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

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

希望幫助到你!

6樓:風嘯無名

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

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

定義和用法

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

相關的方法:

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

7樓:足球隊聯絡員

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

8樓:匿名使用者

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

9樓:歲月丿一殤

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

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結點之前,這麼說能懂嗎?

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

10樓:風嘯無名

1) 把p的下一

個節點上

襲到s的下乙個節點上

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

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

定義和用法

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

相關的方法:

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

關於s->next=p->next;p->next=s兩句的解釋。

11樓:匿名使用者

語言不好表達, 用圖形吧

12樓:lb躍鈥岡

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

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

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

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

13樓:武當單挑王

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

14樓:葉子離去是紀念

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

資料結構單鏈表插入單鏈表中q->next=p->next和p->next=q

15樓:

這兩句是把q插入單鏈表的c語言描述語句。我們暫且假設p的後繼

為r,第一句的意思是把p的後繼,也就是r,賦給q的後繼,此時r既是p的後繼,也是q的後繼,也就是說q已經指向r了,此時再讓p的後繼指標指向q(也就是q賦給p的後繼)即可(這也正是第二句的意思),這樣就完成了q的插入。

你可以將「->」讀作「的」,那麼這兩句就可以讀作:把p的後繼賦給q的後繼,q賦給p的後繼。這樣讀就很容易理解了。

16樓:匿名使用者

q->next=p->next是指 p的next指標指向的位址賦值給 q的next指標.

p->next = q 是指 q的位址賦值給p的next指標.在q->next在右邊就不對了,p->next的位址覆蓋了q,q本來指向的位址就找不到了。

q是乙個指標變數,你可以理解為q的記憶體位址,q->next 指向q的下乙個節點記憶體位址。

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

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

初學者求解一道資料結構c語言版,初學者求解一道資料結構 c語言版 的題目

struct lnode head lnode lnodecom lnode h1,int h1len,lnode h2,int h2len else while p1 next null p1 p1 next p1 next p2 return p1 複雜度 o hlen hlen為短表的長度 初...

求資料結構題集(c語言版)清華大學出版社的詳細的答案,發至我

書目列表 出版社 1.計算機演算法設計與分析 第3版 電子工業出版社 2.演算法設計與實驗題解 電子工業出版社 3.微機原理與組合語言程式設計 中國水利水電出版社 4.微機原理與組合語言程式設計 習題集 中國水利水電出版社 5.visual basic.net程式設計使用教程 清華大學出版社 6.v...