C++容器之Queue

简介

         Queue是一种容器适配器,它专门设计用于元素执行先进先出操作。元素在容器的一端插入,在另一端取出。

         Queue作为容器适配器而实现,它是一个使用指定容器类作为其潜在容器存储数据,并提供一组操作函数对容器中的数据进行操作的类。

         潜在容器可以是标准容器类模板或者是一些特殊设计过的容器类,它们必须提供如下操作:

Ø  front()

Ø  back()

Ø  push_back()

Ø  pop_back()

其中标准容器类中的deque和list能够满足其要求。默认情况下,如果没有指定那个容器类作为其潜在的容器,deque将做为默认的容器类。

成员函数


queue::queue()

         构造一个queue容器适配器对象。

queue::empty()

         判断容器是否为空,如果为空则返回true,否则返回false。

queue::size()

         返回queue中元素的个数。

queue::front()

         返回队首元素的引用。

queue::back()

         返回队尾元素的引用。

queue::push()

         在队尾插入一个元素。

queue::emplace()

         在队尾插入一个元素,插入的元素由其构造函数构造。

queue::pop()

         从队首取出一个元素。

queue::swap()

         交换两个队列中的元素。

示例程序

#include 
#include 
#include 
#include 

using namespace std;

int main(void)
{
	deque deq(3, 10);
	list lis(3, 20);
	
	// queue::queue()
	queue first;
	queue second(deq);
	queue> third;
	queue> fourth(lis);
	
	// queue::empty()
	if(first.empty()){
		cout << "Queue is empty." << endl;
	}else{
		cout << "Queue is not empty" << endl;
	}
	
	// queue::size()
	cout << "The number of data in second : ";
	cout << second.size() << endl;
	
	// queue::front()
	cout << "The first element is : ";
	cout << second.front() << endl;
	
	// queue::back()
	cout << "The list element is : ";
	cout << second.back() << endl;
	
	// queue::push()
	second.push(20);
	cout << "The list element is : ";
	cout << second.back() << endl;
	
	// queue::emplace()
	second.emplace();
	cout << "The list element is : ";
	cout << second.back() << endl;
	
	// queue::pop()
	second.pop();
	cout << "The list element is : ";
	cout << second.back() << endl;
	
	// queue::swap()
	first.swap(second);
	cout << "The size of first : " << first.size() << endl;
	cout << "The size of second : " << second.size() << endl;

	return 0;
}


你可能感兴趣的:(C++)