队列基础和例题

基础

#include <queue>
#include <iostream>


/**
 * 入队
 */
void Test01() {
	std::queue<int> q;
	q.push(1);
	q.push(2);
	q.push(3);
	q.push(4);
	q.push(777);

	std::cout << "队列大小:" << q.size() << std::endl;
	std::cout << "队头元素:" << q.front() << std::endl;
	std::cout << "队尾元素:" << q.back() << std::endl;
}

/**
 * 遍历
 */
void Test02() {
	std::queue<int> q;
	q.push(1);
	q.push(2);
	q.push(3);
	q.push(4);
	q.push(777);

	std::cout << "队列大小:" << q.size() << std::endl;

	while (!q.empty()) {
		//看一眼队头元素
		std::cout << q.front() << std::endl;
		//出队
		q.pop();
	}

	std::cout << "队列大小:" << q.size() << std::endl;


}


int main() {


	//Test01();
	Test02();


	return 0;
}
  • 队列的特点是先进先出。
  • 队列是种逻辑结构,和数组vector不一样,vector是物理结构。
  • 队列可以用数组实现,也可以用链表实现。
  • 队列的思想是生产者消费者模式。往队列里push就是生产,出队pop操作就是消费。
  • 现实中的队列,比如说快递站。快递员往快递站放快递就是生产,顾客取快递就是消费。
  • app中的队列。双十一,淘宝用户的订单会先push到队列,然后慢慢消费队列,追踪每个订单的状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值