Bootstrap

queue容器

目录

基本概念

常用接口


基本概念

queue是一种先进先出的数据结构,它有两个出口

 队列容器允许从一端新增元素,从另一端移除元素

队列中只有队头和队尾才可以被外界访问,因此队列不允许有遍历行为

队列中进数据称为-入队push

队列中出数据称为-出队pop

常用接口

构造函数

  • queue<T>que;
  • queue(const queue&que);

赋值操作

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

数据存取

  • push(elem);//往队尾加元素
  • pop();  //从队头移除第一个元素
  • back();  //返回最后一个元素
  • front();  //返回第一个元素

大小操作

  • empty();//判断是否为空
  • size();//返回队列的大小

代码示例

#include<iostream>
using namespace std;
#include<queue>
#include<string>
class person {
public:
	person(string name, int age) {
		this->name = name;
		this->age = age;
	}
	string name;
	int age;
};
int main() {
	//创建自定义类型数据的队列
	queue<person>q;
	//准备数据
	person p1("唐僧",30);
	person p2("孙悟空", 1000);
	person p3("猪八戒", 900);
	person p4("沙僧", 800);
	//执行入队操作
	q.push(p1);
	q.push(p2);
	q.push(p3);
	q.push(p4);
	//判断队列是否为空,不为空,查看队头,查看队尾,出队
	while (!q.empty()) {
		//查看队头
		cout << "队头元素-姓名:" << q.front().name << "队头元素-年龄:" << q.front().age << endl;
		//查看队尾
		cout << "队尾元素-姓名:" << q.back().name << "队尾元素-年龄:" << q.back().age << endl;
		//出队
		q.pop();
	}
	return 0;
}

;