1樓:1223永遠不棄
q->next = p;的意思是將p存放入q所指向的結點的指標域
q = p;q就指向了p所指的
q=p賦值語句後,q所指向的結點還是存在的,沒有q結點這一說法
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語言連結串列中,p=q->next和p->next=q->next有什麼區別?
7樓:匿名使用者
給你普及下指標的真諦:
假設兩個連結串列節點的記憶體地址分別為aaaa和bbbb,節點內偏移4位元組處儲存名為next的指標,
p = 0xaaaa,q=0xbbbb,這說明p和q分別指向這兩個節點。
p->next是記憶體aaae處的內容,q->next是記憶體bbbf處的內容(假設為cccc)
那麼, p = q->next 即p=0xcccc
p->next = q->next,即將記憶體aaae處的內容改為cccc
兩值意義相差甚遠。
8樓:足球隊聯絡員
我想了一個晚上,這是我的思考成果。
9樓:晚霞拉長了身影
p=q—>next的意思是把p結點接到q結點後面,p—>next=q—>next的意思是把q結點的下一個結點接到p結點後。
c語言,這個連結串列部分是什麼意思? head=p; q->next=p; q=p;
10樓:匿名使用者
q->next = p; 表示將節
來點源p加入到節點
baiq之後。
具體的意思可以du參考如下的圖形表示:
節點zhiq----->節點p
一般連結串列的節點定義為dao:
struct node;
c語言連結串列中p=q->next與q->next=p的區別
11樓:千尋無言
p=q->next 使p指向q->next,p的值被改變,變為q->next
q->next=p 使p的值賦給q->next,q->next的值被改變,變為p
兩者最後都指向同一地址,只是被改變的物件不同
12樓:匿名使用者
p=q->next是把q後面的連結串列連結到p的後面;
q->next=p是把p連結到q的後面;
希望好好意會。
c語言關於連結串列操作問題 這裡q->next=p;q=p;和p->next=p一樣?
13樓:匿名使用者
一個單一的名單呢? 如果一個單獨的列表,對 - >下一個到下一個節點,對 - >下一個= q->接下來是指在q>下一個指到下一個節點米(節點q)分配到p地址 - >下一個,這是下一個節點變為熔點
r->next =p ?p:q;是什麼意思,c語言的語法,連結串列
14樓:匿名使用者
?是c語言中的三元運算子,格式如下:
(邏輯表示式1)?表示式2:表示式3;
當邏輯表示式1為真時,整個三元運算表示式返回表示式2的結果,否則返回表示式3的結果。
如下**
r->next =p ?p:q;
?前應該是一個邏輯表示式,這裡的p可以視為if(p)即結構指標p不為null時,返回p所儲存的指標,否則返回q儲存的指標。
15樓:
當p不為null時,給r->next賦值為p,否則給r->next賦值為q。
資料結構單連結串列插入單連結串列中q->next=p->next和p->next=q
16樓:
這兩句是把q插入單連結串列的c語言描述語句。我們暫且假設p的後繼
為r,第一句的意思是把p的後繼,也就是r,賦給q的後繼,此時r既是p的後繼,也是q的後繼,也就是說q已經指向r了,此時再讓p的後繼指標指向q(也就是q賦給p的後繼)即可(這也正是第二句的意思),這樣就完成了q的插入。
你可以將「->」讀作「的」,那麼這兩句就可以讀作:把p的後繼賦給q的後繼,q賦給p的後繼。這樣讀就很容易理解了。
17樓:匿名使用者
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程式中else { p->next = q;p = q; } 這一句是什麼意思?
18樓:向前向右
這是資料結構中的bai連結串列,du連結串列中包括一個資料域zhi和一個指標域daonext,內
p->next=q;表示
p的next域指向q,p=q;表示p和q指向同一容個節點;本打算畫個圖給你看,電腦上不太會畫。你找本資料結構的書看看吧,這個是尾插法建立單連結串列的演算法。h = p = q;這句話先將頭指標h和尾指標指向q。
19樓:匿名使用者
這是用c寫的資料結構——棧
p->next = q;p = q;
這是進棧 把q 排到 p 後面
c語言連結串列問題,c語言連結串列的問題
連結串列必須知道頭指標在哪第一個紅圈是初始化指標 因為你剛開始定義連結串列指標的時候指標指向的是隨機的 所以只能初始化 第二個紅圈是第一次給連結串列分配空間 如果頭指標為空就把連結串列指標給頭指標 這倆個語句確實只執行一次 但我沒理解你話的意思 你的理解當然不對了。前一個頭 head 尾 tail ...
在C語言中,什麼是連結串列呀,C語言中連結串列怎麼定義?
呵呵 ls回答的太全面了 我簡單概括一下吧 簡單的說,連結串列就是一串儲存資料的鏈式結構。鏈式的優點在於,每個資料之間都是相關聯的,你如果拿掉其中一個資料,整個連結串列就斷了,需要重新把斷開的部分連上,就像一條鎖鏈一樣。而你要新增一個資料,也要先斷開一個鎖鏈,把資料加進去,再重新連上。就是這麼簡單!...
c語言程式設計連結串列題,c語言程式設計連結串列題
include include include typedef struct student message stu struct student message static stu head null 建立一個節點,並賦予相應的數值 stu create link node char const...