作者takua624 (TAKUA)
看板EE_DSnP
標題[問題] HW5 DList iterator
時間Sat Nov 26 16:54:54 2011
教授說用iterator的目的是不要讓人家知道node是怎麼做的
是說在list的member function裡面最好不要出現 [某node]->_next 這樣的東西比較好吧?
可是例如POP_FRONT()的工作是:
把頭指到頭的NEXT,再把新頭的PREV指到尾巴,把尾巴的NEXT指到新頭
最後把舊頭DELETE掉
那,如果不能用[node]->_next這樣的東西,光用iterator來做有可能嗎?
iterator那些overload的operator似乎沒有這樣的功能,異哉。
--
春
苑樹雪菜萌苗,
雀兒喜上夏枝梢;
藍眼望盡
黃泉路,只盼儷人一
美笑。
長巾初解投送抱,金
珠麗葉賀新好;
神代仙眷且羨嫉,長伴相隨誓到老。
靜馬千華留秋晚,冬風不止
三鄉道;
紅枝立約攜手情,今此空餘泣嚎啕。
姬宮千歌音悠悠,
櫻井奏樂聲裊裊;奈何天令伊人變,
飛離斯愛離斯去。
結城AIRA→ 悲慟獨泣無人應,
白晝夢盡皆空語。
←美鄉あき
Kalafina→ 紅月旋響戚
音樂,黯然步上
鎮魂旅。
←飛 蘭
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.57.147.96
1F:→ e124553423:應該是外面使用者使用時不能知道有node的class存在, 11/26 17:01
2F:→ e124553423:裡面處理還是要用到吧 11/26 17:01
3F:→ takua624:所以我們寫程式的時候可以用NODE直接操作囉? 11/26 17:02
4F:→ takua624:那"外面的使用者"到底是誰啊... 11/26 17:02
5F:→ e124553423:就class scope以外的吧XD,其他class的function或main 11/26 17:20
6F:→ e124553423:之類的 11/26 17:20
7F:→ takua624:嗯。那有辦法操作iterator指到的那個node嗎? 11/26 17:22
例如 iterator it = begin();
it++;
現在it指到的是LIST裡面第二個node,如果我想修改這個node的_next
有辦法用it的operator來操作嗎?
還是一定要it._node->_next這種看起來很不文明的方法?
※ 編輯: takua624 來自: 61.57.147.96 (11/26 17:25)
8F:→ e124553423:就我的理解應該是無法避免,有錯請指證~ 11/26 17:29
9F:→ takua624:好,那就這麼幹吧! 11/26 17:37
10F:推 ric2k1:ListNode 是 List 的好朋友,所以也可以直接 _head->_next 11/27 01:01
11F:→ takua624:嗯,感謝教授。我以為是"建議"不要這麼做 11/27 10:03