精華區beta EE_DSnP 關於我們 聯絡資訊
※ 引述《karate362 (最近腰不痛的卡拉特)》之銘言: : 總之就是並沒有定義_tail.. : 這是老師不小心忘了寫嗎? : 還是本意就是這樣呢? : ...這樣的話push_back會變成O(n)耶... 是的, 故意不定義 _tail. 所以請用 O(n) 的方法來寫 push_back(). Actaully, 請注意 _tail 在 DList 中是指 "pass-the-end" pointer (也就是 end() 要回傳的位置), 而且在 DList constructor 就已建立, 之後不會被改變或 delete (即使是 clear()). 他並不是指到最後一個儲存的 element... : 另外 對於List的popfront(或back)函式 究竟要不要把它的node給delete掉釋放memory? : earse()和 clear()呢? Yes, you need to delete the ListNode (but not the case in Array). For Array, don't delete the T* _data except in "expand()" or destructor. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.121.134.49