1、什么是队列?
C++ Queues(队列)
(1)C++队列是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构。
(2)STL 队列 (
std::queue
) 是一种先进先出 (First In, First Out) 的容器适配器,仅支持查询或删除第一个加入的元素(队首元素),不支持随机访问,且为了保证数据的严格有序性,不支持迭代器。
2、头文件
#include <queue>
3、定义
std::queue<TypeName> q; // 使用默认底层容器 deque,数据类型为 TypeName
std::queue<TypeName, Container> q; // 使用 Container 作为底层容器
std::queue<TypeName> q2(q1); // 将 s1 复制一份用于构造 q2
4、相关操作(函数)
back() | 返回最后一个元素 |
empty() | 如果队列空则返回真 |
front() | 返回第一个元素 |
pop() | 删除第一个元素 |
push() | 在末尾加入一个元素 |
size() | 返回队列中元素的个数 |
5、代码示例
#include<iostream>
#include<queue>
using namespace std;
int main()
{
queue<string> q;
string strs[5] = { "小代码","小骑士","小真","小帅" };
// int n = strs->length();
for (int i = 0; i < 4; i++)
q.push(strs[i]);
int n = q.size();
cout << "排头:" << q.front() << endl;
cout << "排尾:" << q.back() << endl;
cout << "全排:" ;
for (int i = 0; i < n; i++)
{
cout<<q.front()<<' ';
q.pop();
}
return 0;
}
6、运行结果