作者WSzc (WSzc)
看板EE_DSnP
標題Re: [問題] BST iterator的問題
時間Fri May 22 03:35:54 2009
※ 引述《Peter034 (Peter)》之銘言:
: 標題: [問題] BST iterator的問題
: 時間: Mon May 18 20:52:02 2009
:
: 寫BST的iterator時候
:
: 當我overload ++, --等 operater時
:
: 想要呼叫BSTree裡面的一些變數諸如_root以及successor()等函數
:
: 該怎麼樣才能辦得到呢
:
: --
:
※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 118.166.241.58
: ※ 編輯: Peter034 來自: 118.166.241.58 (05/18 20:52)
: 推 ysho:我自己是在 iterator 裡多放一個 BSTree*... 05/18 21:33
: → Peter034:那請問一下要怎麼讓BSTree*指到_container呢? 05/18 21:38
: → ysho:我是把 BSTree 自己(this) 丟進去給 BSTree::iterator 05/18 21:42
: → Peter034:可以work了 感謝指點 ^^ 05/18 22:02
請問可以再講白一點嗎0rz 觀念不是很清楚
我有爬文看了1264 1266 1282
這個方法應該就是類似1282的做法吧
可是有點搞不清楚iterator要怎麼傳遞參數給constructor
下面這行放在begin()可以過 可是應該沒有assign到 因為印不出來
iterator nownode(0,(BSTree<T>*)this);
我在class iterator中有把constructor的第二個參數設了
還是一定要用new的呢?(也就是iterator一定要是pointer嗎?)
謝謝回答! 快要被這個搞瘋了...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.161.42.162
1F:推 ric2k1:你可能要寫 iterator 的 copy constructor 吧? 05/22 13:07
2F:→ ric2k1:另外大家要注意, 題目有規定: adtTest.h adtTest.cpp不能改 05/22 13:08
3F:推 lovelylion2:呃,我加了一個operator> 05/22 17:56
4F:→ WSzc:謝謝教授 可以了 05/22 21:40
5F:推 Peter034:回三樓 我之前有發文問過 老師說多加operator>沒關係 XD 05/22 23:30
6F:推 lovelylion2:寫BST的時候我又加了個 != 可以嗎 囧? 05/23 09:23