最新回答 / kinpowoo
老師是這么說的,比如你要在主文件的函數(shù)中調(diào)用插入節(jié)點(diǎn)的函數(shù),在主文件的函數(shù)中聲明一個(gè)Node node對象,一般在函數(shù)中申請變量都是在棧中申請,不會在堆中,在棧中申請的對象在函數(shù)執(zhí)行完成后就銷毀了,可以節(jié)約內(nèi)存資源。這時(shí)你把這個(gè)node對象的地址傳入插入節(jié)點(diǎn)的函數(shù)中,插入節(jié)點(diǎn)函數(shù)只需要拿到這個(gè)node對象中的值,然后自己去堆中申請內(nèi)存。 ?如果你直接引用傳進(jìn)來的node對象,這個(gè)對象在外面函數(shù)執(zhí)行完成后被系統(tǒng)銷毀了,剛插入的值不復(fù)存在,就會引發(fā)錯(cuò)誤,
2016-12-09
已采納回答 / 慕姐5052964
頭結(jié)點(diǎn)前不能插入,因?yàn)樗黡ata為空,沒有意義吧。頭結(jié)點(diǎn)后面的第一個(gè)數(shù)據(jù)算0號數(shù)據(jù),listinserthead函數(shù)是插在頭結(jié)點(diǎn)后面的,遍歷出來結(jié)果顯示它的數(shù)據(jù)在第一個(gè)位置上。頭結(jié)點(diǎn)data為空,但是指針不為null,它前面不能插入數(shù)據(jù)。最后一個(gè)結(jié)點(diǎn)data不為空,指針為null,它的前后都可以插入數(shù)據(jù)。get函數(shù)中不算頭結(jié)點(diǎn),i最小為0,這就是頭結(jié)點(diǎn)后面的第一個(gè)數(shù)據(jù),即0號數(shù)據(jù),頭結(jié)點(diǎn)data為空,或者說沒有意義,所以不能get 出來。
2016-11-29
已采納回答 / 十二樓中月自明
其實(shí)已經(jīng)刪除了尾節(jié)點(diǎn),currentNode->next != NULL 是沒有刪除尾節(jié)點(diǎn)的,而currentNode != NULL表示這個(gè)節(jié)點(diǎn)為空,即已經(jīng)刪除了
2016-11-24
最新回答 / chuikokching
Java的話思路大體相同,就形式變了下..... ?定義一個(gè)方法類和節(jié)點(diǎn)類。節(jié)點(diǎn)就是節(jié)點(diǎn)類的一個(gè)對象,然后節(jié)點(diǎn)指向的那些就用Setnext()或者Getnext()來完成....
2016-11-20
最贊回答 / vortesnail
node1是Node類型,Node類里面定義了Peoson data這個(gè)數(shù)據(jù)成員,首先,node1.data是一個(gè)Person對象,通過node1.data.name就調(diào)用了這個(gè)對象(Person對象)中的數(shù)據(jù)成員name。
2016-10-24
已采納回答 / 黑巫師0
頭結(jié)點(diǎn)只是一個(gè)牽頭的作用,可以通過頭結(jié)點(diǎn)來順藤摸瓜找到鏈表中的所有元素,但本身并沒存儲有意義數(shù)據(jù),所以作為前驅(qū)也就沒有什么意義,因此不用頭結(jié)點(diǎn)作前驅(qū)。希望能幫到你~
2016-10-08
已采納回答 / 風(fēng)起了_
m_pList是一個(gè)Node*對象,這是對的。next只是一個(gè)數(shù)據(jù)成員,next只是一個(gè)指向Node類型的指針,指向下一個(gè)結(jié)點(diǎn)“在構(gòu)造函數(shù)里面已經(jīng)m_pList->next = NULL”這是初始化的時(shí)候,并沒有插入任何元素,當(dāng)然應(yīng)該置為空。插入元素之后,就不會再為空了。
2016-09-29
已采納回答 / 黑巫師0
delete m_pList;?? 這個(gè)操作只是將指針m_pList所指向的內(nèi)存空間釋放掉,使內(nèi)存重歸操作系統(tǒng)。但m_pList的指向位置并沒有改變,此位置的內(nèi)存已經(jīng)被釋放掉了,若再用m_pList訪問這塊內(nèi)存,系統(tǒng)就會崩潰出錯(cuò)!為了防止這種誤操作所引起的崩潰出錯(cuò)。所以將m_pList置為NULL的安全狀態(tài),就避免這種野指針事件的發(fā)生。希望對你有所幫助~
2016-09-22