1樓:東風冷雪
q=s; //把s結點儲層起來
s=p->next
p=s這個好像是 移動結點,
2樓:匿名使用者
應該是q=s; s=s->next ; p=s; 吧
資料結構中:s->next=p->next;p->next=s.怎麼解釋。
3樓:lb躍鈥岡
s->data=e;//將節點s的data值設定為e
s->next=p->next;//連結串列指標的賦值,將p的下一個節點的位置付給了s的下一個節點
p->next=s; //實現插入,把s接到p的下一個節點上
4樓:陸舒傑
這個應該是連結串列裡面最常遇見的問題了!
s->next的意思是s指向的某個(如結構體)變數中的next這個成員本身
然後把p->next的地址賦值給s->next,也就是說s->next指向p->next
連結串列中使用的較多!一個連結串列的一個節點包括資料域和指標域兩部分,s->next指向的是p->next這個節點!
希望幫助到你!
5樓:風嘯無名
1) 把p的下一個節點上到s的下一個節點上2) 把s接到p的下一個節點上
3) 把p的一下個節點賦值給s
定義和用法
next() 函式將內部指標指向陣列中的下一個元素,並輸出。
相關的方法:
prev() - 將內部指標指向陣列中的上一個元素,並輸出current() - 返回陣列中的當前元素的值end() - 將內部指標指向陣列中的最後一個元素,並輸出reset() - 將內部指標指向陣列中的第一個元素,並輸出each() - 返回當前元素的鍵名和鍵值,並將內部指標向前移動
6樓:足球隊聯絡員
我想了一晚上,得出結論如下
7樓:匿名使用者
s指向的是x吧,第一句的意思是把b向後挪一下,第二句的意思是把x插進來。
8樓:歲月丿一殤
雖然有點晚了,我來解釋一下。
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=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,下次迴圈又是一樣,
c語言連結串列中s->next=p;s=p什麼意思
11樓:砍侃看
假設s指向連結串列的最後一個節點,因為s指向的節點是最後一個,所以s->next是null。假設這時需要將一個新節點p插在連結串列的結尾,很明顯我們需要讓最後一個節點指向p,於是s->next=p;就可以讓最後一個節點指向p,這時p就是最後一個節點。s=p就是將s指向p,也就是s這時候指向的還是最後一個節點。
s->next=p->next;的含義
12樓:匿名使用者
1) 把p的下一個節點上到s的下一個節點上
2) 把s接到p的下一個節點上
3) 把p的一下個節點賦值給s
13樓:豬豬大拉風
p指向s的下一個節點
p指向節點s
p的下一個節點賦值給s
14樓:雲落楓
這是連結串列題目吧
s,p為節點指標
設初始順序為s->p->q
1.p->next=q;
故s->next=p->next; 結果為s->q
p->q
2.結果為
s->p
p->q
3.結果為
p->qs=q
c++ 連結串列中p=head, p->next=s , s=p的含義?
15樓:匿名使用者
首先,你要理解p指標的含義。
根據你的描述,p指標應該是連結串列內遍歷各節點的指標,那麼這個指標是不停移動的。
而head指標永遠指向連結串列的頭結點。
開始,要讓自己宣告的指標p指向連結串列的頭結點。所以有p=head;
進行完這個操作後,p指標和head指標同時指向了連結串列的頭結點。
下面,我們要向連結串列中插入一個節點,那麼這個新插入的節點是什麼呢,就是指標s指向的節點。因為連結串列中每個節點的next指標指向了下一個節點的地址,因此有
p->next=s;
這句話的意思是,讓s指標指向的節點連線在p指標指向節點的後面。
最後,我們又要插入新的節點,那麼,必定是要插入在剛才s節點之後的位置,因此,需要移動p指標到剛才s指標指向的節點的位置,所以有
p=s;
記住,連結串列中,永遠只有一個指標移動,這個指標就是p指標。
16樓: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()函式,是建立連結串列,包含你想知道的問題,建立連結串列是一個迴圈結構。把執行結果也複製一下
指標變數能直接賦值嗎,可以對指標變數進行賦值嗎,例如 p
指標變數一般是不可以直接賦值的,因為直接賦值的話,就是讓這個指標指向這個賦值的地址,萬一這個地址是你計算機內部的某個程式的或者是系統的某個地址,而你對這個指標的值又改變了,那麼你的計算機系統就會出現問題,可能導致系統不能正常執行活著程式出錯等等。但是null是一個空地址,即0,它不指向任何地址,所以...
typedef結構體指標變數再去定義變數什麼意思
driverextension是一個你自己命名的結構體的名字 看起來是驅動拓展?結構體裡的結構是自己定義的,不過這個結構體貌似是引用了另一個結構體。你說的pdriver extension driverextension就是這樣定義結構體的,沒有問題 typedef是自定義型別,相當於,用pdriv...
int指標變數宣告定義,變數定義和變數宣告的區別
第一句話錯,原因是 int的指標變數p裡可以放空指標或是一個整型值,int型的指標就只能存放int,這裡的null意思是申明p指向空,不是存放空指標。第二局也不對 int 宣告的指標變數裡面放的不應該是一個指標麼?裡面存放的是一個地址,他指向一個int 所以應該p a 你的這種p 5的寫法是不對的,...