Back

容器适配器

容器适配器提供顺序容器的不同接口

std::stack

  • 定义于头文件 <stack>

std::stack 类是容器适配器,它给予程序员栈的功能——特别是 FILO (先进后出)数据结构。

该类模板表现为底层容器的包装器——只提供特定函数集合。栈从被称作栈顶的容器尾部推弹元素。

元素访问
top 访问栈顶元素 (公开成员函数)
容量
empty 检查底层容器是否为空 (公开成员函数)
size 返回容纳的元素数 (公开成员函数)
修改器
push 向栈顶插入元素 (公开成员函数)
emplace(C++11) 在顶部原位构造元素 (公开成员函数)
pop 删除栈顶元素 (公开成员函数)
swap(C++11) 交换内容 (公开成员函数)

std::queue

  • 适配一个容器以提供队列(FIFO 数据结构)

定义于头文件 <queue>

std::queue 类是容器适配器,它给予程序员队列的功能——尤其是 FIFO (先进先出)数据结构。

类模板表现为底层容器的包装器——只提供特定的函数集合。 queue 在底层容器尾端推入元素,从首端弹出元素。

元素访问
front 访问第一个元素 (公开成员函数)
back 访问最后一个元素 (公开成员函数)
容量
empty 检查底层容器是否为空 (公开成员函数)
size 返回容纳的元素数 (公开成员函数)
修改器
push 向队列尾部插入元素 (公开成员函数)
emplace(C++11) 在尾部原位构造元素 (公开成员函数)
pop 删除首个元素 (公开成员函数)
swap(C++11) 交换内容 (公开成员函数)

std::priority_queue

  • 定义于头文件 <queue>

priority_queue 是容器适配器,它提供常数时间的(默认)最大元素查找,对数代价的插入与释出。

可用用户提供的 Compare 更改顺序,例如,用 std::greater 将导致最小元素作为 top() 出现。

priority_queue 工作类似管理某些随机访问容器中的,优势是不可能突然把堆非法化。

元素访问
top 访问栈顶元素 (公开成员函数)
容量
empty 检查底层容器是否为空 (公开成员函数)
size 返回容纳的元素数 (公开成员函数)
修改器
push 插入元素,并对底层容器排序 (公开成员函数)
emplace(C++11) 原位构造元素并排序底层容器 (公开成员函数)
pop 删除队首元素 (公开成员函数)
swap(C++11) 交换内容 (公开成员函数)
Licensed under CC BY-NC-SA 4.0