作者ric2k1 (Ric)
看板EE_DSnP
标题Re: [问题] HW5 singleList里没有_tail?
时间Sun Dec 17 20:28:18 2006
※ 引述《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