作者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