c++ 队列(Queue)基础教程

原创 2017年01月03日 17:29:46
queue是容器配接器C的一个示例,容器配接器C将一些基础容器转换成类C的容器。容器配接器queue、stack、priority_queue——与标准模板库的其他处理是截然不同的。他们的方法和定义要调用基础容器类的方法。
    queue的基础类可以为list,list类中有size,empty,push_back,pop_front,front,back方法。deque类也可以作为基础类,而且是默认的基础类。vector类不能作为基础类,vector类没有pop_front方法。

函数列表:
操作> < = != >= <=
back() 返回最后一个元素 
empty() 如果队列空则返回真 
front() 返回第一个元素 
pop() 删除第一个元素 
push() 在末尾加入一个元素 
size() 返回队列中元素的个数 

/////////////////////////////////////////////////////////////////////////////////////  

构造函数  

explicit queue(const allocator_type& al = allocator_type());  

back   

语法: 
   TYPE &back();
back()返回一个引用,指向队列的最后一个元素。
empty 
语法: 
  bool empty();
empty()函数返回真(true)如果队列为空,否则返回假(false)。
front 
语法: 
   TYPE &front();
front()返回队列第一个元素的引用。
pop 
语法: 
  void pop();
pop()函数删除队列的一个元素。
push 
语法: 
  void push( const TYPE &val );
push()函数往队列中加入一个元素。
ize 
size_type size();
size()返回队列中元素的个数。

代码演示:

#include <iostream>

#include <queue>

#include <assert.h>

/*

#include<stdlib.h> 或 #include<cstdlib> +

#include<queue>       

详细用法:

定义一个queue的变量     queue<Type> M

查看是否为空范例        M.empty()    是的话返回1,不是返回0;

从已有元素后面增加元素   M.push()

输出现有元素的个数      M.size()

显示第一个元素          M.front()

显示最后一个元素        M.back()

清除第一个元素          M.pop()

*/

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

queue <int> myQ;

cout<< "现在 queue 是否 empty? "<< myQ.empty() << endl; 

for(int i =0; i<10 ; i++)

{

myQ.push(i);

}

for(int i=0; i<myQ.size(); i++)

{

printf("myQ.size():%d\n",myQ.size());

cout << myQ.front()<<endl;

myQ.pop();

}

system("PAUSE"); 

return 0;

}
版权声明:本文为博主原创文章,未经博主允许不得转载。

Python 3基础教程40-队列-Queue

本文来介绍下队列的基本使用,队列是Python线程中最常用的数据交换方法。Queue是queue模块下的对象,Queue是python标准库中的线程安全的队列(FIFO)实现,提供了一个适用于多线程编...

RabbitMQ 基础教程(2) - Work Queue

RabbitMQ 基础教程(2) - Work Queue 注:本文是对众多博客的学习和总结,可能存在理解错误。请带着怀疑的眼光,同时如果有错误希望能指出。 如果你喜欢我的文章,可以关注...

plupload queue widget配置基础教程

最近在做项目的时候发现了一个前端的上传组件——plupload,用起来非常nice,工作之余自己试着学习了下。...

转载:iOS开发零基础教程之AFNetWorking POST 队列请求

转载自:http://blog.csdn.net/crazyzhang1990/article/details/46430321 我们在开发过程中,经常会遇到有些页面不止一个网络请求,有时候需要两个...
  • John_LS
  • John_LS
  • 2016年02月29日 14:41
  • 255

iOS开发零基础教程之AFNetWorking POST 队列请求

我们在开发过程中,经常会遇到有些页面不止一个网络请求,有时候需要两个三个甚至更多,这个时候我们就需要队列请求,下边是GET请求的多个请求放在队列里边: NSURL *url = [NSURL URLW...

C++ 队列(queue)堆栈(stack)实现基础

在C++中只要#include即可使用队列类,其中在面试或笔试中常用的成员函数如下(按照最常用到不常用的顺序) 1. push 2. pop 3. size 4. empty ...

队列类Queue的C++实现

  • 2015年04月06日 21:05
  • 2KB
  • 下载

C++基础:C++标准库之栈(stack)和队列(queue)

在C++标准库(STL)中,实现了zhan

C++基础教程(五)——指针(2)

//===================================================== // Name : Pointer1.cpp // Author ...
  • lfdfhl
  • lfdfhl
  • 2014年04月20日 21:52
  • 1295

C++基础教程(二)——数组

//============================================================================ // Name : Arra...
  • lfdfhl
  • lfdfhl
  • 2014年04月15日 15:31
  • 1306
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c++ 队列(Queue)基础教程
举报原因:
原因补充:

(最多只允许输入30个字)