1. 程式人生 > >迭代器有什麼用,意義何在?

迭代器有什麼用,意義何在?

迭代器就是把不同的資料結構 "相同功能 "的函式裝到一個名字相同的函式裡,這樣的話你在寫演算法的時候就可以不管你要操作的資料結構的邏輯結構了。
比如不管是連結串列,陣列還是別的什麼,統一都用迭代器進行訪問的話可能都是   Next()表示下一個元素   Pre()表示上一個元素等等 。

其實意思就是,不管你用的是連結串列,2叉樹、3叉樹、N叉樹,還是向量。 迭代器都可以讓你從first開始,使用next,到達last,而且一個不漏滴都走一遍。
你不必知道在next的時候,迭代器是怎樣從當前節點跳到下一個節點的。
就和猴子一樣,你不必知道猴子是怎樣從這個樹的節點跳到那個樹的!總之,猴子可以把樹的所有節點跳一邊(再次強調:一個不漏)

迭代器是:
無論你用的是什麼結構(連結串列也好、陣列也好、數也好、圖也好、hash表也好),總之, 你可以不關心任何細節遍歷細節,(下面看好了) 從一個起點(begin)觸發到達,到達終點(end),並且保證每個節點都能走到且只走一次。