迭代器就是把不同的数据结构 "相同功能 "的函数装到一个名字相同的函数里,这样的话你在写算法的时候就可以不管你要操作的数据结构的逻辑结构了。
比如不管是链表,数组还是别的什么,统一都用迭代器进行访问的话可能都是
其实意思就是,不管你用的是链表,2叉树、3叉树、N叉树,还是向量。 迭代器都可以让你从first开始,使用next,到达last,而且一个不漏滴都走一遍。
你不必知道在next的时候,迭代器是怎样从当前节点跳到下一个节点的。
就和猴子一样,你不必知道猴子是怎样从这个树的节点跳到那个树的!总之,猴子可以把树的所有节点跳一边(再次强调:一个不漏)
迭代器是:
无论你用的是什么结构(链表也好、数组也好、数也好、图也好、hash表也好),总之, 你可以不关心任何细节遍历细节,(下面看好了) 从一个起点(begin)触发到达,到达终点(end),并且保证每个节点都能走到且只走一次。