queue容器

Queue是一种先进先出的数据结构,它有两个出口:如图
在这里插入图片描述
队列容器允许从一端新增元素,另一端移除元素
队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为
队列中进数据为入队-------------push
队列中出数据为出队------------pop

构造函数:
queueque; //queue采用模板类实现,queue对象的默认构造形式
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:	
	string m_Name;
	int m_Age;
	
	Person(string name,int age){
		this->m_Age = age;
		this->m_Name = name;
	}
};

//队列常用接口 
void test01(){
	//创建一个队列 
	queue<Person>q;
	
	//准备数据
	Person p1("唐神",20); 
	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().m_Name<<"  年龄: "	<<q.front().m_Age<<endl;
		
		//查看队尾
		cout<<"队尾元素------姓名"<<q.back().m_Name<<"   年龄: "   <<q.back().m_Age<<endl; 
		q.pop();   //队头出队 
	}
	cout<<"队列大小:"<<q.size()<<endl; 
	 
} 
int main(){
    test01();
	system("pause");
	return 0; 
} 

输出样式:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值