給定乙個迭代器類的介面,介面包含兩個方法: next() 和 hasnext()。
設計並實現乙個支援 peek() 操作的頂端迭代器 – 其本質就是把原本應由 next() 方法返回的元素 peek() 出來。
示例:
假設迭代器被初始化為列表 [1,
2,3]。
呼叫 next
() 返回 1,得到列表中的第乙個元素。
現在呼叫 peek
() 返回 2,下乙個元素。在此之後呼叫 next
() 仍然返回 2。
最後一次呼叫 next
() 返回 3,末尾元素。在此之後呼叫 hasnext
() 應該返回 false。
高階:你將如何拓展你的設計?使之變得通用化,從而適應所有的型別,而不只是整數型?
// below is the inte***ce for iterator, which is already defined for you.
// **do not** modify the inte***ce for iterator.
class
iterator
;//----------------------以上不用提交----------
class
peekingiterator
:public iterator
else
end =
true;}
intpeek()
intnext()
bool
hasnext()
const
};
4 ms 9.9 mb 坦克大戰(nyoj284)
題目大體意思就是,求從地圖上的y走到t的最小步數,其中s和r不能走,b要走兩步,e要走一步。測試輸入 3 4 ybeb eere sste 0 0測試輸出 8 這個題要用優先佇列,不用的話沒有辦法保證所求的步數是最小的。我也查了一些關於優先佇列的資料,做以下整理 在優先佇列中,優先順序高的元素先出佇...
NYOJ284坦克大戰
bfs求最短路,這個題走到 b 點是要花費2個時間,e 是1個時間,所以要用乙個優先佇列,優先順序就是花費小的先出隊,其餘的就是模板了。include include include using namespace std define inf 0x3f3f3f3f int stx,sty int ...
NYOJ 284 坦克大戰(BFS)
好累啊,寫篇部落格歇歇。題目背景很有趣,是大家小時候經常玩的坦克大戰,哈哈。弱弱地表示本人小時候經常玩遊戲機。此題是在迷宮問題的基礎上做了些改動,就是地圖上能走的點可能耗費時間1,也可能耗費時間2。那麼,元素在出佇列時,不能簡單的按照以前的入隊順序出隊了,而應該讓時間最短的先出隊,這樣就能夠保證先入...