亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于m_pList->next的兩個問題

1.m_pList是一個Node*對象,next也是一個Node*對象,為什么考研m_pList->next?

2.在構造函數里面已經m_pList->next = NULL;那么在ClearList里面Node *currentNode = m_pList->next;之后,currentNode不是就永遠都是NULL了嗎,又怎么進入while循環額?


正在回答

4 回答

  1. m_pList是一個Node*對象,這是對的。next只是一個數據成員,next只是一個指向Node類型的指針,指向下一個結點

  2. “在構造函數里面已經m_pList->next = NULL”這是初始化的時候,并沒有插入任何元素,當然應該置為空。插入元素之后,就不會再為空了。

0 回復 有任何疑惑可以回復我~
#1

vortesnail 提問者

非常感謝!
2016-10-24 回復 有任何疑惑可以回復我~
#2

vortesnail 提問者

朋友,我能再問你一下,為什么Node里面定義了指向Node的指針next,m_pList->next就怎么指向下一個結點了呢?實在摸不著頭腦了。。
2016-11-01 回復 有任何疑惑可以回復我~
#3

慕粉20161020

m_pList是指向鏈表頭結點的指針,簡稱為頭指針,即通過m_pList可以訪問到鏈表的第一個結點,結點類型為Node,Node對象有兩個數據成員:data和next,所以m_pList->next相當于用頭指針去訪問第一個結點的數據成員,又因為next指向的是下一個結點,所以m_pList->next就指向第二個結點了。不知道我解釋清楚了沒有?
2016-11-24 回復 有任何疑惑可以回復我~
#4

weixin_慕斯0277608 回復 慕粉20161020

應該是這樣的
2019-07-20 回復 有任何疑惑可以回復我~
查看1條回復

構造函數設置的就是一個空鏈表,鏈表中沒有任何結點。所以此時執行完構造函數立馬執行ClearList()語法上沒有錯誤,但是沒有任何意義,屬于多此一舉。一般情況下,實例化對象后,應該會執行插入和刪除的操作,此時鏈表若:(1)不為空,則m_pList->next!=NULL,就可以順藤摸瓜依次刪除掉鏈表中每一個結點,(2)為空,此時也沒必要進入到while循環了。

0 回復 有任何疑惑可以回復我~

初始化時候鏈表中只有一個節點,即是頭結點也是尾節點,所以next=NULL;當有多個節點時頭結點的指針域指向下一個節點的數據域,不在是NULL啦!只有頭節點時候ClearList()函數不起作用!

所以同意二樓觀點!

0 回復 有任何疑惑可以回復我~

描述問題要清楚。。。

不知從何答起。。。o(╯□╰)o

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關于m_pList->next的兩個問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號