作者ric2k1 (Ric)
看板EE_DSnP
标题[公告] AdtTest::printBackward() function 修正
时间Thu May 15 21:51:58 2008
上面有同学说到, 原先 printBackward() 的写法:
AdtType<AdtTestObj>::iterator li = _container.end(); --li;
#ifdef RANDOM_ACCESS
for (int i = idx; i >= 0; --i)
#else // DList
while (li != _container.end())
#endif // RANDOM_ACCESS
printData(idx--, li--, r);
对 bst 不能 work, 因为 bst 的 begin() 跟 end() 并没有必要连在一起.
所以, 有做到 bst 的同学, 请做以下修正:
AdtType<AdtTestObj>::iterator li = _container.end(); --li;
#ifdef RANDOM_ACCESS
for (int i = idx; i >= 0; --i)
printData(idx--, li--, r);
#else // for DList and BST
do {
printData(idx, li, r);
--idx;
} while (li-- != _container.begin());
#endif // RANDOM_ACCESS
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.121.129.110
1F:推 BattleRoyale:所以这块改掉dlist和dynamic array还能work吗 05/15 21:56
2F:→ ric2k1:试过了, 可以! 05/15 22:00