STL之Queue(Q)
STL的Queue(数据结构中的队列):
特点:FIFO 先进先出;
自适应容器(即容器适配器)
栈适配器STL queue
STL中实现的Queue:
用list来实现queue; queue<int, list<int> > q;
用deque来实现queue; queue<int, deque<int> > q;
不能用vector来实现queue;
STL中Queue实现的方法(6种):
q.empty();
q.size();
q.front();
q.back();
q.pop();
q.push(item);
STL的queue没有迭代器,它只能操作队列头、队列尾的元素,而不能操作队列中间的元素;一般情况下,queue用于系统软件开发,编译器开发;
#include <list>
#include <deque> using namespace std; int main()
{
queue<int, deque<int> > a;
queue<int, list<int> > b;
//queue<int, vector<int> > c; //error
queue<int> q; //相当于queue<int, deque<int> > q; q.push(); //队列只能从队尾插入
q.push();
q.push(-);
q.push(); std::cout<<"queue size is "<<q.size()<<std::endl;
std::cout << "queue first item:" << q.front() << std::endl; //q.front() 查看队列头元素
std::cout <<"queue end item: " <<q.back() <<std::endl; //q.front() 查看队列尾元素 q.pop(); //队列只能从头删除
std::cout << "queue new first item:" << q.front() << std::endl; while(q.size() !=)
{
std::cout << "del item :" <<q.front() << std::endl;
q.pop();
} if(q.empty())
{
std::cout <<"now queue is empty "<<std::endl;
} return ;
}
STL之Queue(Q)的更多相关文章
- STL之queue&stack使用简介
queue 队列也是一个线性存储表,与后进先出的堆栈不同,元素数据的插入在表的一端进行,在另一端删除,从而构成了一个先进先出(First In First Out) 表.插入一端称为队尾,删除一 ...
- C++ 标准模板库STL 队列 queue 使用方法与应用介绍
C++ 标准模板库STL 队列 queue 使用方法与应用介绍 queue queue模板类的定义在<queue>头文件中. 与stack模板类很相似,queue模板类也需要两个模板参数, ...
- Gengxin讲STL系列——Queue和Stack
第三篇. 感觉队列和栈是必须的……所以决定加上这两个…… 我发现我已经买域名买上隐了……今天又买了个.top……真是智障…… Queue(队列FIFO)和Statk(栈LIFO). 那么为什么要这两个 ...
- STL之queue(单向队列)
单向队列中的数据是先进先出(First In First Out,FIFO).单向队列一共6个常用函数(front().back().push().pop().empty().size()) #inc ...
- 问题解决——在STL的queue中使用自定义类
本文原创,转载请保证文章的完整性,并显要的注明出处. 本文链接:http://blog.csdn.net/wlsgzl/article/details/38843513 平时很少用STL,就算用,也基 ...
- c++ STL:队列queue、优先队列priority queue 的使用
说明:本文全文转载而来,原文链接:http://www.cppblog.com/wanghaiguang/archive/2012/06/05/177644.html C++ Queues(队列) C ...
- STL 之 queue、priority_queue 源代码剖析
/* * Copyright (c) 1994 * Hewlett-Packard Company * * Permission to use, copy, modify, distribute an ...
- STL之queue
描述 使用STL中的queue,完成入队.出队.获取队首.获取队尾等基本操作. 部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码. int main() { queue<int> ...
- C++ 学习笔记之——STL 库 queue
1. 队列 queue 队列是一种容器适配器,专门用来满足先进先出的操作,也就是元素在容器的一端插入并从另一端提取. bool empty() const; 返回队列是否为空: size_type s ...
随机推荐
- 【转】CoreData以及MagicalRecord (二)
3. 运行时类与对象 NSManagedObject Managed Object 表示数据文件中的一条记录,每一个Managed Object在内存中对应的实体(Entity)的一个数据表示.Man ...
- c#打包文件解压缩
首先要引用一下类库:using Ionic.Zip;这个类库可以到网上下载. 下面对类库使用的封装方法: /// <summary> /// 得到指定的输入流的ZIP ...
- MVC-03 控制器(3)
Controller负责处理浏览器来的所有要求,并决定响应什么属性给浏览器,以及协调Model与View之间的数据传递.在ASP.NET MVC中有好几种传递数据给视图的方式,例如从ASP.NET M ...
- MapList 自己封装的
//// Source code recreated from a .class file by IntelliJ IDEA// (powered by Fernflower decompiler)/ ...
- CSF 中的应用程序请求路由
编辑人员注释:本文章由 AzureCAT 团队的 Christain Maritnez 撰写. 应用程序请求路由(简称为 ARR)可能是 Microsoft 使用的技术中讨论得最少但极为重要的技术之一 ...
- HDU 1544 Palindromes(回文子串)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1544 问题分析: 问题要求求出字符串的连续子串中的回文子串个数.首先,需要区分连续子串与子序列的区别. ...
- vmware 几种联网的方式,怎样实现虚拟机上网
我的pc有一个IP地址是可以訪问网络的,那么如何让VM可以共享我的IP地址,也能上网呢.今天在摸索中实现了,详细的配置例如以下: 1,首先将VM的网卡net8启用: 2,然后将VM的网卡设置为VMne ...
- Android API 中文(77)——AdapterView.OnItemSelectedListener
前言 本章内容是android.widget.AdapterView.OnItemSelectedListener,版本为Android 2.3 r1,翻译来自"cnmahj",欢 ...
- javascript技术难点之this、new、apply和call详解
讲解this指针的原理是个很复杂的问题,如果我们从javascript里this的实现机制来说明this,很多朋友可能会越来越糊涂,因此本篇打算换一个思路从应用的角度来讲解this指针,从这个角度理解 ...
- SSAS 发布报错处理方法 Login failed for user 'NT Service\MSSQLServerOLAPService' 28000
Create login and grant access: Open up SQL Server Management Studio [login to the database engine]&g ...