C++每日一练(STL_Queue)

97 阅读1分钟

本文已参与「新人创作礼活动」,一起开启掘金创作之路。

一、今日课题

queue

二、实战演练

队列(Queue)是一个容器适配器(Container adaptor)类型,被特别设计用来运行于FIFO(First-in first-out)场景,在该场景中,只能从容器一端添加(Insert)元素,而在另一端提取(Extract)元素。

1)有何用?

queue 提供了一系列成员函数用于操作它的元素,只能从容器“后面”压进(Push)元素,从容器“前面”提取(Pop)元素。

2)怎么用?

#include<iostream>
#include <queue>

namespace ClassFoo
{
	void QueueExamole()
	{
		std::queue<int>		foo1;
		std::cout << "foo1.empty():" << std::boolalpha
			<< foo1.empty() << std::endl;
		// 逐个压入元素
		std::cout << "压入四个元素:" << std::endl;
		foo1.push(1);
		std::cout << foo1.back() << " ";
		foo1.push(2);
		std::cout << foo1.back() << " ";
		foo1.push(3);
		std::cout << foo1.back() << " ";
		foo1.push(4);
		std::cout << foo1.back() << " " << std::endl;

		std::cout << "foo1.empty():" << std::boolalpha
			<< foo1.empty() << std::endl;
		std::cout << "foo1.size():"
			<< foo1.size() << std::endl;
		
		// 逐个弹出元素
		std::cout << "弹出四个元素:" << std::endl;
		std::cout << foo1.front() << " ";
		foo1.pop();
		std::cout << foo1.front() << " ";
		foo1.pop();
		std::cout << foo1.front() << " ";
		foo1.pop();
		std::cout << foo1.front() << " " << std::endl;
		foo1.pop();

		std::cout << "foo1.empty():" << std::boolalpha
			<< foo1.empty() << std::endl;
		std::cout << "foo1.size():"
			<< foo1.size() << std::endl;
	}
}

int main()
{
	ClassFoo::QueueExamole();
	system("pause");
	return 0;
}

3)Access & Operations

12.png