C++ 特殊容器 —— queue 用法详解
写在前面:近期正在学习C++的STL容器,因此在这里做一下日志记录,主要介绍一些容器基本成员函数的用法, 配上实际用例,并不涉及原理。但别人的博客终究是别人的, 最好自己上手操作一下.
写的不好, 请大神手下留情.
下面说的 “运行之后” 表示: 运行上个语句之后的结果.
一行如果说的太长的话, 就得拖动下面的进度条才能看到后面的内容, 非常麻烦
因此将一段话分成了多行, 就像现在这种形式
简介
头文件: # include < queue >
模拟队列的功能和特点: 元素先进先出, 可以访问队列两端元素, 属于C++特殊容器
点击前往: stack 用法详解
构造函数
queue <int> q, q1;
//定义 int 类型的队列
queue <char> qch;
//定义 char 类型的队列
queue <string> qstr;
//定义 string 类型的队列
queue <int> q2(q);
//定义新容器, 拷贝 q 所有的元素
queue <int, vector<int> > q3;
//使用 vector 容器实现队列, 默认是 deque
成员函数
q.front();
//返回队列头部元素
//例: q={1,2,3,4}
//返回 1
q.back();
//返回队列尾部元素
//例: q={1,2,3,4}
//返回 4
q.push(5);
//在队列尾部插入新元素 5
//例: q={1,2,3,4}
//执行之后, q={1,2,3,4,5}
q.emplace(5);
//在队列尾部创建新元素 5
//例: q={1,2,3,4}
//执行之后, q={1,2,3,4,5}
q.pop();
//删除队列头部元素
//例: q={1,2,3,4}
//执行之后, q={2,3,4}
q.size();
//返回容器目前的元素个数
//例: q={1,2,3,4}
//返回 4
q.empty();
//容器为空返回 true, 否则返回 false
q.swap(q1);
//交换两个容器的内容
//例: q={1,2,3}, q1={4,5,6}
//执行之后, q={4,5,6}, q1={1,2,3}