C ++提供了STL的强大功能,我们可以使用基本的ADT,而无需了解实现背后的代码。STL可以有效地使用ADT,而无需实际实现它们。本文提供了使用C ++ STL表示队列的基本知识。
队列:
甲队列是数据结构,其中元素的顺序是重要的,该队列保持为FIFO(先入先出)。
队列的基本ADT操作是...
入列(INT X):在 enqueuer的元件后结束
int DeQueue():从前端删除元素并返回已删除的元素
bool empty():检查队列是否为空的布尔函数
int size():不返回队列中显示的元素
STL中提供了队列的基本ADT操作。
队列是容器,下面将介绍用于植入ADT操作的可用功能:
empty()–如果队列为空,则返回1,否则返回0
size()–返回队列的大小
front()–返回对队列第一个元素(前端)的引用
back()–返回对队列最后一个元素(后端)的引用
push(g)–在队列末尾添加元素“ g”(常规EnQueue(g)ADT操作)
pop()–删除队列的第一个元素(类似于DeQueue(),但是仅删除,不返回任何内容。)
因此,要完成DeQueue操作,我们需要编写
int item = front();
pop();
归还物品;
在C ++ STL中声明队列:
queue<datatype> queue_name;
示例
queue<int> q; //整数队列
#include <iostream> 
#include <queue>  //包括STL的头文件
using namespace std; 
int main() { 
	queue <int> q;
	int x,item;
	cout<<"enter integers to EnQueue and 0 to stop EnQuing"<<endl;
	cin>>x;
	while(x){
		q.push(x);       //用于EnQueueing的push(int x)函数
		cin>>x;
	} 
	cout << "The size of the queue is  : "<<q.size()<<endl; //size()函数 
	cout<<"The first element that entered the queue is : "<<q.front()<<endl;  //front()函数
	cout<<"The last element that entered the queue is : "<<q.back()<<endl;    //back()函数	 
	cout<<"DeQueuing......."<<endl;
	while(!q.empty()){
		item=q.front();            //德奎
		cout<<item<<" ";
		q.pop();
	}
	
	cout<<"\n executed successfully\n";
	
	return 0; 
}输出结果
enter integers to EnQueue and 0 to stop EnQuing 12 4 45 3 6 7 0 The size of the queue is : 6 The first element that entered the queue is : 12 The last element that entered the queue is : 7 DeQueuing....... 12 4 45 3 6 7 executed successfully