STL常用容器总结——queue单向队列
2016-04-14 09:53
579 查看
原文
单向队列和栈类似,栈是只在栈顶添加或移除数据,单向队列是从队尾添加数据,从队头移除数据。栈是先进后出(FILO),单向队列是先进先出(FIFO)。在STL中,单向队列也是以别的容器作为底层数据结构的,默认情况下使用deque,可以指定vector等。
queue单向队列常用函数:
1.数据操作
que.front()
返回队列头部数据的引用
que.back()
返回队列尾部数据的引用
que.push(elem)
在队尾添加数据
que.pop()
队列头部数据出队
2.其他操作
que.empty()
判断队列是否为空,若空返回true,否则返回false。
que.size()
返回队列中数据的个数
queue单向队列例子:
#include <iostream>
#include <queue>
#include <vector>
using std::queue;
using std::vector;
int main()
{
queue<int> que;//默认使用deque作为底层容器
queue<int, vector<int> >quev;//指定vector为底层容器
for (int i = 0; i < 10; ++i)
{
que.push(i*i);
quev.push(i);
}
std::cout << "\n\n队头数据:"<<que.front();
std::cout << "\n\n队尾数据:" << que.back();
std::cout << "\n\n队列大小:" << que.size();
std::cout << "\n\n队列que的数据:\n";
while (!que.empty())
{
std::cout << que.front() << " ";
que.pop();
}
system("pause");
return 0;
}
单向队列和栈类似,栈是只在栈顶添加或移除数据,单向队列是从队尾添加数据,从队头移除数据。栈是先进后出(FILO),单向队列是先进先出(FIFO)。在STL中,单向队列也是以别的容器作为底层数据结构的,默认情况下使用deque,可以指定vector等。
queue单向队列常用函数:
1.数据操作
que.front()
返回队列头部数据的引用
que.back()
返回队列尾部数据的引用
que.push(elem)
在队尾添加数据
que.pop()
队列头部数据出队
2.其他操作
que.empty()
判断队列是否为空,若空返回true,否则返回false。
que.size()
返回队列中数据的个数
queue单向队列例子:
#include <iostream>
#include <queue>
#include <vector>
using std::queue;
using std::vector;
int main()
{
queue<int> que;//默认使用deque作为底层容器
queue<int, vector<int> >quev;//指定vector为底层容器
for (int i = 0; i < 10; ++i)
{
que.push(i*i);
quev.push(i);
}
std::cout << "\n\n队头数据:"<<que.front();
std::cout << "\n\n队尾数据:" << que.back();
std::cout << "\n\n队列大小:" << que.size();
std::cout << "\n\n队列que的数据:\n";
while (!que.empty())
{
std::cout << que.front() << " ";
que.pop();
}
system("pause");
return 0;
}
相关文章推荐
- web api 2 学习笔记 (Odata ODataQueryOptions 使用)
- 背水一战 Windows 10 (6) - 控件 UI: 字体的自动继承的特性, Style, ControlTemplate
- 63. Unique Paths II【M】【30】
- UISearchController
- 《iOS Human Interface Guidelines》——Icon and Image Sizes
- easyui layout 高度怎么自适应?
- 常用前端UI框架快速开发web项目
- request属性 request.getAttribute()
- Android 开源项目android-open-project解析之(四) ColorPickView,GraphView,UI Style,Other
- MERGE中使用SEQUENCE,带来的序列快速增长问题
- iOS (UIButton封装)仿糯米首页缩放“按钮”效果
- de_bruijn序列的一些补充
- uue enc.cpp
- uue dec.cpp
- Penguins DbTools数据库管理移植差分工具(EXCEL相关) ver 20160414
- NuGet在创建pack时提示”The replacement token 'author' has no value“问题解决
- 【7】mysql数据查询语言DQL(Data Query Language)②
- MVC中使用Ueditor
- iOS开发总结之项目开发中使用UITableView自定义多级表格&自定义cell
- StoryBoard中UIScrollView的滚动问题(contentsize)