C++STL模板库适配器之queue队列
适配器之队列
一丶队列简介
队列是先进先出的数据结构. 在STL中使用 queue表示. 底层使用的是序列容器deque,或者list
不能使用vector因为vector可以说底层是数组结构进行维护的.第一点就是没有提供头部操作函数.
最终要的一点就是.因为队列是操作头部.如果使用数组来操作.效率大大降低.这也是为什么vector容器并不提供头部操作函数原理.
二丶队列(queue)代码操作
1.常用方法
- push() 将元素压入队列
- pop() 弹出首部元素
- front() 获取首部元素
- back() 获取尾部元素
- empty() 判断队列是否为空, 空返回1 (true) 否则返回0 (false)
- size() 返回队列中元素的个数.
2.应用代码实例
#include "stdafx.h"
#include <string>
#include <STACK>
#include <VECTOR>
#include <iostream>
#include <QUEUE>
using namespace std;
int main(int argc, char* argv[])
{
queue<int> q;
q.push(1);
q.push(2);
//获取头部元素
cout << "头部元素: " << q.front() << endl;
//获取尾部元素
cout << "尾部元素: " << q.back() << endl;
//获取队列大小
cout << "队列大小: " << q.size() << endl;
//遍历队列
while(!q.empty())
{
cout << "队列的值: " << q.front() << " ";
q.pop();
}
cout << endl;
return 0;
}
C++STL模板库适配器之queue队列的更多相关文章
- C++STL模板库适配器之优先级队列
目录 适配器之优先级队列 一丶优先级队列简介(priority_queue) 二丶优先级队列代码演示 1.优先级队列代码以及使用简介 适配器之优先级队列 一丶优先级队列简介(priority_queu ...
- C++STL模板库适配器之stack容器
目录 适配器 一丶适配器简介 二丶栈(stack)用法 1.栈的常用方法 适配器 一丶适配器简介 Stl中的适配器,有栈 (stack) 队列 queue 根priority_queue 适配器都是包 ...
- C++STL模板库序列容器之vector
目录 STL之Vecter 一丶STL简介 二丶Vector用法 1.vector容器的使用 2.vector迭代器. 3.vector中的方法. 三丶常用算法 1.常见算法中的算法方法. 2.sor ...
- C++ 泛型程序设计与STL模板库(1)---泛型程序设计简介及STL简介与结构
泛型程序设计的基本概念 编写不依赖于具体数据类型的程序 将算法从特定的数据结构中抽象出来,成为通用的 C++的模板为泛型程序设计奠定了关键的基础 术语:概念 用来界定具备一定功能的数据类型.例如: 将 ...
- C++STL模板库序列容器之deque
目录 一丶队列容器deque简介 二丶使用代码演示 一丶队列容器deque简介 deque底层跟vector一样,都是数组维护.不同的是可以操作头部. 二丶使用代码演示 #define _CRT_SE ...
- C++STL模板库序列容器之List容器
目录 一丶List容器的存储结构 二丶丶STL中list容器的使用. 一丶List容器的存储结构 list容器底层是链表结构来维护的.跟vector不一样. vector是数组维护的.拥有连续内存.所 ...
- iBinary C++STL模板库关联容器之map/multimap
目录 一丶关联容器map/multimap 容器 二丶代码例子 1.map的三种插入数据的方法 3.map集合的遍历 4.验证map集合数据是否插入成功 5.map数据的查找 6.Map集合删除元素以 ...
- C++STL模板库关联容器之set/multiset
目录 一丶关联容器简介.set/multiset 二丶演示代码. 一丶关联容器简介.set/multiset 我们的序列容器,底层都是线性表构成的. 比如 vector list deque. 关联容 ...
- 容器适配器之queue
转载http://blog.csdn.net/thefutureisour/article/details/7751846容器适配器容器适配器其实就是一个接口转换装置,使得我们能用特定的方法去操作一些 ...
随机推荐
- DWM1000 Blink结构 -- 帧过滤第一节
DWM1000 帧结构分析主要学习DWM1000 帧过滤功能,希望在目前DS-TWR定位系统中增加中断和帧过滤功能,帧过滤功能可以有效减少系统中的各个模块同时收发数据时的干扰问题,从而极大的提供系统稳 ...
- Linux Kernel C语言编程范式
介绍 不同的编程语言具有不同的抽象原语(如下),有的原语抽象层次低,有的原语抽象层次高.其中函数式.DSL是这几年十分热门的编程语言概念. 过程式抽象原语:变量 对象式抽象原语:对象 函数式抽象原语: ...
- Python数据分析实战
Python数据分析实战(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1nlHM1IW8MYg3z79TUwIsWg 提取码:ux8t 复制这段内容后打开百度网盘手 ...
- PS2键盘扫描码:通码与断码
键盘扫描码(实用于标准PC的101.102和104 键的键盘),按下发送通码,弹起发送断码. 说明: 第一类按键,通码为1字节,断码为 0xF0+通码 形式.如A键,其通码为 0x1C,断码为 0xF ...
- 自制vbs消息轰炸机
自制消息轰炸机 目标 做一个简单的,可以自己输入参数的vbs程序 准备 电脑qq 脚本设计成了可以指定发给某个好友轰炸的形式,在写好以后容错性比较强,但这意味着你想换人的话,需要重新改代码 vbs脚本 ...
- Linux系统下如何运行.sh文件
在Linux系统下运行.sh文件有两种方法,比如我在root目录下有个datelog.sh文件 第一种(这种办法需要用chmod使得文件具备执行条件(x): chmod u+x datelog.sh) ...
- Bypass_Disable_functions_Shell
Bypass_Disable_functions_Shell https://github.com/l3m0n/Bypass_Disable_functions_Shell 一个各种方式突破Disab ...
- Java作业十二(2017-11-13)
/*继承与抽象类*/ package com.baidu.www; abstract class Person { private String name; private int age; publ ...
- LeetCode题解38.Count and Say
38. Count and Say The count-and-say sequence is the sequence of integers beginning as follows: 1, 11 ...
- [Swift]LeetCode394. 字符串解码 | Decode String
Given an encoded string, return it's decoded string. The encoding rule is: k[encoded_string], where ...