五种迭代器

分类

  1. 输入迭代器(Input Iterators): 这种迭代器用于从容器中读取数据。它只支持单向遍历,即只能向前移动(通过 ++ 操作符)。输入迭代器只能进行一次读取,读取后迭代器就会前进到下一个元素。

  2. 输出迭代器(Output Iterators): 与输入迭代器相反,输出迭代器用于向容器中写入数据。它同样只支持单向遍历,且只能进行一次写入操作,写入后迭代器会自动前进到下一个位置。

  3. 前向迭代器(Forward Iterators): 前向迭代器类似于输入和输出迭代器,但它支持多次读写操作。它也只能单向遍历,但可以对同一个元素进行多次访问。

  4. 双向迭代器(Bidirectional Iterators): 如其名,双向迭代器可以在容器中向前和向后移动。它扩展了前向迭代器的功能,使得迭代器可以使用 -- 操作符向前移动。双向迭代器在像 list 和 set 这样的容器中非常有用。

  5. 随机访问迭代器(Random Access Iterators): 这是最强大的迭代器类型,它支持所有前面提到的迭代器的功能,并且能够进行随机访问。这意味着除了能够向前和向后移动,随机访问迭代器还能够直接跳跃到任意位置(如通过 + 或 - 操作符)。vector 和 deque 容器提供了随机访问迭代器。

使用

  1. vector<vector<int>> students_marks,不存在vector<int>类型的迭代器;因此需要自己编写
  2. 规则比较繁杂,实际算法笔试中不要考虑这种方法

自定义类型实现迭代器


五种迭代器
http://example.com/2024/09/04/CPP/五种迭代器/
作者
Cyokeo
发布于
2024年9月4日
许可协议