笔记来源: https://www.bilibili.com/video/BV1iA411q7ze?from=search&seid=13174016144775766986&spm_id_from=333.337.0.0
队列
数据结构:数据结构是计算机存储、组织数据的方式。
队列:只有一个入口和一个出口,数据先进先出(FIFO–First in First Out) 队首、队尾:对应队列的出口和入口。 双端队列:
std::queue :队列容器; std::deque :双端队列容器;
#include <iostream>
#include <string>
#include <queue>
int main(void)
{
std::queue<std::string> q;
q.push("张三");
q.pop();
q.push("李四");
q.push("王五");
q.pop();
q.push("22娘");
q.push("33娘");
q.pop();
q.push("小古银");
std::cout << "队列第一个元素:" << q.front() << std::endl;
std::cout << "队列最后一个元素:" << q.back() << std::endl;
std::cout << "队列中元素的数量:" << q.size() << std::endl;
std::cout << "队列是否为空:" << std::boolalpha << q.empty() << std::endl;
return 0;
}
std::queue
std::queue 类表现为底层容器的包装器——只提供特定的函数集合。queue 在底层容器尾端推入元素,从首端弹出元素std::queue 默认的底层容器:std::deque - 容器必须满足序列容器(SequenceContainer)的要求。另外,它必须提供带通常语义的下列函数;
- back()
- front()
- push_back()
- pop_front()
- 标准容器
std::deque 和 std::list 满足这些要求。例如,底层容器为 std::list 的队列
std::queue<int std::list<int>> q;
成员类型
成员类型 | 定义 |
---|
container_type | 底层容器类型 | value_type | container_type::value_type | size_type | container_type::size_type | reference | container_type::reference | const_reference | container_type::const_reference |
|