目录
●queue的基本概念
●queue常用接口
●构造函数
●赋值操作
●数据存取
●大小操作
●queue的基本概念
简要介绍:queue是一种先进先出的的数据结构,它有两个出口。队列容器允许从一端新增元素,从另一端移除元素。队列中只有队头和队尾才可以被外界使用,从而导致它不允许有遍历行为。队列中进数据元素为入队(push),出数据元素为出队(pop)。
●queue常用接口
●构造函数
■queue<T> que //queue采用模板类实现,queue对象的默认构造形式
■queue(constjqueue &que) //拷贝构造函数
●赋值操作
■queue& operator=(const queue &que) //重载等号操作符
●数据存取
■push(elem) //往队尾添加元素
■pop() //从队头移除第一个元素
■back() //返回最后一个元素
■front() //返回第一个元素
●大小操作
■empty() //判断堆栈是否为空
■size() //返回栈的大小
#include<iostream>
#include<string>
#include<queue>
using namespace std;
typedef struct {
int id;
string name;
int age;
}information;
void text()
{
information i1;
information i2;
information i3;
information i4;
queue<information>q;
i1.id = 1001; i1.name = "zhangsan"; i1.age = 18;
i2.id = 1002; i2.name = "lisi"; i2.age = 19;
i3.id = 1003; i3.name = "wangwu"; i3.age = 20;
i4.id = 1004; i4.name = "zhaoliu"; i4.age = 21;
//入队
q.push(i1);
q.push(i2);
q.push(i3);
q.push(i4);
int i = 1;
//判断是否为空,并且输出队头队尾元素
while (!q.empty())
{
cout << "队头学生:" << q.front().id << " " << q.front().name << " " << q.front().age << endl;
cout << "队尾学生:" << q.back().id << " " << q.back().name << " " << q.back().age << endl;
cout << "第"<<i<<"次出队" << endl;
q.pop();
i++;
}
//判断最终出队后的队列大小
cout << "队列的大小:" << q.size() << endl;
}
int main()
{
text();
}