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 ...
随机推荐
- C# 自定义控件的一些文章和博客
http://blog.csdn.net/songkexin/archive/2009/12/08/4961215.aspx http://www.cnblogs.com/yuanfan/archiv ...
- PHP-语法(www.w3school.com.cn/php)
写在前面: 假设系统里已安装PHP软件 PHP是一种脚本语言,执行PHP脚本后向浏览器返回纯HTML语言(即后台将.php文件的执行结果以纯HTML的形式返回到前端) ---------------- ...
- Linux中fork()函数详解(转)
一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同, ...
- 如何使用autotools生成Makefile
安装autotools工具sudo apt-get install autoconf 一,四个代码文件init.s lcd.c addr.h uart.c 二,命令:autoscan 三,命令:vi ...
- yoeman构建Asp.net core项目并且实现分层
在Mac上开发使用yoeman构建Asp.net core项目并且实现分层引用 1.Yoeman? yoeman是一个自动化脚手架工具.它提供很多generator,generator相当于Visua ...
- LintCode-字符串查找
题目描述: 对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始).如果不存在,则返回 -1. 说明 ...
- [置顶] LED办公楼宇照明节能方案及城市夜景照明节能方案
LED照明办公楼宇节能方案 .通用标准灯头,可直接替换现有卤素灯.白炽灯.荧光灯.
- 如何使用 Barracuda 防火墙设置/保护 Azure 应用程序
如果某企业在 Windows Azure 上托管某个应用程序,该应用程序会在某个特定时间暴露到 Internet,以用于商业用途.公共 Internet 带来 客户的同时也带来了攻击者. Tim ...
- Flex 内置验证器—验证用户输入
今晚对于Flex中的Validator类(所有验证器的父类)测试一下 ---->其中常用的验证类有StringValidator,NumberValidator,DateValidator 测试 ...
- 前端性能监控系统ShowSlow
作者:zhanhailiang 日期:2014-11-14 1. 简单介绍 ShowSlow是开源的前端性能监控系统,提供了下面功能: 前端性能指标数据收集功能:ShowSlow原生提供了数据收集工具 ...