[公告] AdtTest::printBackward() function 修正

看板EE_DSnP作者 (Ric)時間16年前 (2008/05/15 21:51), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
上面有同學說到, 原先 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

05/15 21:56, , 1F
所以這塊改掉dlist和dynamic array還能work嗎
05/15 21:56, 1F

05/15 22:00, , 2F
試過了, 可以!
05/15 22:00, 2F
文章代碼(AID): #18B3__Mn (EE_DSnP)