作者ric2k1 (Ric)
看板EE_DSnP
标题Re: [情报] Hash::iterator 要怎麽写?
时间Wed Jan 13 15:41:59 2010
上学期的文章,repost 一下...
※ 引述《ric2k1 (Ric)》之铭言:
有人在问要怎麽写... 好吧, 只剩几天了就来提示/建议一下...
1. iterator 就是要用来 iterate Hash 里面 valid 的 HashNode, 它必须能够
往前 or 往後找到下一个 HashNode, 并且可以 return 指到的 HashNode
2. 那麽要怎麽找到 Hash 里面的 valid HashNode 呢? 比较简单的作法就是纪录
下来在 iterate 的是哪个 Hash... 怎麽记? 宣告一个 Hash "obj" 在 class
iterator 里头吗? <== 会出事....!%&^%#!&^%$ (消音)
3. 那什麽时候将目前在 traverse 的 Hash 记到 iterator 里呢? 在 iterator
的 constructor 里传入参数吗? OK, 但是如:
Hash::iterator hi;
没有传东西怎麽办?
(Hint) 那 "hi = hash.begin()" 总可以 work 了吧?
4. 除了纪录 Hash 之外, 也要记录目前走到哪里...
(Hint) 我是用两个 size_t 的 index 来记的
[重要] 其实 Hash::iterator 没写 BDD 也可以 work... 只是 reset() 中必须能
走过所有的 HashNodes...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.224.46.108
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.21.241