最贊回答 / Lavi_La
(1)currentnode是這個指針類型的變量,它也是需要占據一定的內存來存儲數據的,存放的就是它指向內存的地址,釋放掉的currentnode指向的內存,即解除currentnode和它指向的內存的關系,currentnote占據的內存還是存在的。下面是我畫的圖希望對你有幫助。<...圖片...>(2)一般可以認為new和delete是互為對應的
2016-09-16
最新回答 / 黑巫師0
老師這樣定義的? int temp;?? 是一個整型變量,當調用刪除函數是傳入的實參是 &temp,是為將刪除的元素能存入到temp中。你提出的 cout<<temp<<endl ; 這是是輸出temp的值。要輸出它的地址應該寫成cout<<&temp<<endl ; 希望對你有幫助。
2016-09-12
最贊回答 / 黑巫師0
其實我也覺得應該這樣,刪除函數應該有判空操作,線性表為空的話,直接返回false;插入函數應該有判滿操作,線性表已滿時也直接返回false,這樣應該更嚴謹一些。
2016-09-06
最新回答 / 黑巫師0
定義的臨時結點指針currentNode經過循環之后指向鏈表的尾結點,因為它是指針變量,存放的是尾結點的地址,所以通過它來改變鏈表本身尾結點的指向是完全行得通的。即currentNode->next = NewNode? 就等效于鏈表自己的指向尾節點的節點的next指向newNode!希望對你有所幫助~
2016-09-05
最新回答 / kming
因為在c語言中沒有對象這個東西,函數和數據是獨立的,函數要處理List *list,肯定要作為參數傳進來,才能知道函數要處理的是List *list,c++里面這個函數是對象的成員函數,要處理的就是對象本身的數據,可以省略,也可以傳入*this
2016-08-28
最新回答 / Posin丶biting
不知道你問的是順序表還是鏈表,如果是順序表的話就是要刪除元素后一位元素開始,依次往前移動一位即可。然后Length--就可以了。鏈表的話,這樣應該說不通!
2016-08-22
最贊回答 / 慕后端7037387
直接將傳入的結點作為鏈表中新添加的結點內存,是不安全的。因為傳入的結點內存是有可能在鏈表外被釋放掉的,如果被釋放掉,則鏈表就會斷開失效;而申請一個新的結點內存作為鏈表的結點內存,則該內存只有在鏈表中才可以被釋放掉,這樣保證了鏈表內存是安全釋放的;
2016-08-04