我試圖找到如下問題的解決方案:提供了一個整數矩陣對某些元素的迭代器
假設我們已經實現了一個抽象數據類型「整數矩陣」 (假設整數是存儲在行中)。我們需要定義一個迭代器迭代器遍歷矩陣的列,並且僅遍歷矩陣的元素。
執行的folling代碼:
Matrix M; ... Matrix::iterator it; for(it = M.begin(); it != M.end();++it) cout << *it
在基質上:
5 4 3 2 1 2 9 0 2 8 9 1
應產生2 8 4 0 2 2
我面臨幾個問題做。 首先,我想避免向class iterator
提供有關正在迭代的矩陣的大量信息。提供矩陣的行數和列數是不可避免的嗎? 二,解決方案在很大程度上取決於基體的內部表示,所以我會說我應該實現一個基本的迭代器遍歷逐行...
你認爲是解決這一問題的最佳解決方案? 我只需要關於矩陣和迭代器的表示以及函數開始,結束,運算符*,運算符++和運算符==