Queue简介

² queue是队列容器,是一种“先进先出”的容器。

² queue是简单地装饰deque容器而成为另外的一种容器。

² #include <queue>  

queue对象的默认构造

queue采用模板类实现,queue对象的默认构造形式:queue<T> queT;  如:

queue<int> queInt;            //一个存放intqueue容器。

queue<float> queFloat;     //一个存放floatqueue容器。

queue<string> queString;     //一个存放stringqueue容器。

...     

//尖括号内还可以设置指针类型或自定义类型。

 

queuepush()pop()方法

queue.push(elem);   //往队尾添加元素

queue.pop();   //从队头移除第一个元素

 

queue<int> queInt;

queInt.push(1);queInt.push(3);

queInt.push(5);queInt.push(7);

queInt.push(9);queInt.pop();

queInt.pop();

此时queInt存放的元素是5,7,9

queue对象的拷贝构造与赋值

queue(const queue &que);      //拷贝构造函数

queue& operator=(const queue &que); //重载等号操作符

 

queue<int> queIntA;

queIntA.push(1);

queIntA.push(3);

queIntA.push(5);

queIntA.push(7);

queIntA.push(9);

 

queue<int> queIntB(queIntA); //拷贝构造

queue<int> queIntC;

queIntC = queIntA; //赋值

queue的数据存取

² queue.back();   //返回最后一个元素

² queue.front();   //返回第一个元素

 

queue<int> queIntA;

queIntA.push(1);

queIntA.push(3);

queIntA.push(5);

queIntA.push(7);

queIntA.push(9);

 

int iFront = queIntA.front(); //1

int iBack = queIntA.back(); //9

 

queIntA.front() = 11; //11

queIntA.back() = 19; //19

queue的大小

² queue.empty();   //判断队列是否为空

² queue.size();      //返回队列的大小

queue<int> queIntA; 

queIntA.push(1);   

queIntA.push(3);  

queIntA.push(5);

queIntA.push(7);

queIntA.push(9);

 

if (!queIntA.empty())

{

int iSize = queIntA.size(); //5

}

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐