C++ STL容器


C++ STL(标准模板库)是一个强大的 C++ 模板类集合,它提供通用的类和函数以及模板,这些模板实现了许多流行且常用的算法和数据结构,例如向量、列表、队列和堆栈。

它是一个包含容器类、算法和迭代器的库。它是一个泛型库,因此其组件是参数化的。掌握模板类的知识是使用 STL 的先决条件。

模板是 C++ 编程语言的一个特性,它允许函数和类使用泛型类型进行操作。这允许一个函数或类在许多不同的数据类型上工作,而无需为每种数据类型重写。

C++ 标准模板库具有以下三个结构良好的组件:

1. 容器

容器用于管理特定类型的对象的集合。有几种不同类型的容器,例如 deque、list、vector、map 等。

  • 顺序容器 - 这些容器实现可以顺序访问的数据结构。

    • vector
    • list
    • deque
    • 数组
    • forward_list
  • 容器适配器 - 它们为顺序容器提供不同的接口。

    • queue
    • priority_queue
    • stack
  • 关联容器 - 它们实现排序的数据结构,可以快速搜索(O(log n) 复杂度)。

    • set
    • multiset
    • map
    • multimap
  • 无序关联容器 - 这些容器实现无序的数据结构,可以快速搜索。

    • unordered_set
    • unordered_multiset
    • unordered_map
    • unordered_multimap

2. 算法

算法作用于容器。它们提供执行初始化、排序、搜索和转换容器内容的方法。

算法

  • 排序
  • 搜索
  • 重要的 STL 算法
  • 有用的数组算法
  • 分区操作

3. 迭代器

迭代器用于遍历对象集合的元素。这些集合可以是容器或容器的子集。

更新于:2024年5月29日

浏览量:1000+

开启你的职业生涯

完成课程获得认证

开始学习
广告