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...