C++STL容器之queue

目录

一、基本概念

二、常用接口

构造函数

赋值操作

数据存取

大小操作 

测试


一、基本概念

queue是是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口 

  • 队列容器允许从一端新增元素,从另一端移除元素
  • 队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为
  • 队列可以判断容器是否为空--empty()
  • 队列可以返回容器中元素个数--size()
  • ps:喝多了吐,是栈; 吃多了拉, 是队列

二、常用接口

构造函数

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

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

赋值操作

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

数据存取

push(elem);                                                             //向队尾添加元素

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

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

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

大小操作 

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

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

测试 

#include<queue>
#include<string>
//队列queue常用接口
class Person {
public:
	string m_Name;
	int m_Age;
	Person(string name, int age) {
		this->m_Name = name;
		this->m_Age = age;
	}
};
void Test01() {
	queue<Person> q;
	Person q1("刘晨", 19);
	Person q2("王敏", 20);
	Person q3("张立", 19);
	Person q4("李四", 20);
	
	q.push(q1);
	q.push(q2);
	q.push(q3);
	q.push(q4);
	cout << "队列大小为:" << q.size() << endl;//4
	//判断只要队列不为空,就查看队头和队尾,并出队
	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;//0
}
int main() {
	Test01();
	return 0;
}

有问题欢迎指正! 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值