C++之泛型算法

标准库并未给每个容器都添加大量功能,而是提供了一组标准算法,这些算法中的大多数都独立于任何特定的容器。这些算法是通用的(generic 或称为泛型的):它们可以用于不同类型的容器和不同类型的元素。

泛型算法(generic algorithm)之所以称为算法,是因为它们实现了一些经典算法的公共接口,如排序或搜索;称他们是泛型的,是因为它们可以用于不同类型的元素和多种容器类型。

五、泛型算法结构

算法要求的迭代器操作可以分为5个迭代器类别(iterator category),每个算法都会对它的每个迭代器参数指明需要提供哪类迭代器。

  • Input iterator(输入迭代器):只读,不写,单遍扫描,只能递增;
  • Output iterator(输出迭代器):只写,不读,单遍扫描,只能递增;
  • Forward iterator (前向迭代器):可读写,多遍扫描,只能递增;
  • Bidirectional iterator(双向迭代器):可读写,多遍扫描,可递增递减;
  • Random Access iterator(随机访问迭代器):可读写,多遍扫描,支持全部迭代器运算;

猜你喜欢

转载自www.cnblogs.com/ccpang/p/11303839.html