C++ 标准模板库--queue使用方法(判等)

写在前面:两个队列可以直接用 == 来判断是否相等,并且 queue 没有 clear 这个函数,可以重新定义的方法解决,也不能用迭代器访问。

一、关于queue

1. 实质:队列(先进先出)

2. 队列的进一步应用:优先队列。

二、使用queue

1. 头文件的引用

#include
#include

using namespace std;

2. 定义方法

queue q; //typename 可以是任何类型的基本数据类型或者容器,如 int double node (自己定义的结构体)等。

3. 访问

只能通过 front()、back()来访问队首或者队尾元素。注意:使用访问函数之前,要先判断队列是否为空,否则容易出现错误。

#include
#include

using namespace std;

int main(){
	queue q;
	for(int i = 0;i <= 5;i++){
		q.push(i);      //把 i 插入队列 
	}
	printf("%d %d",q.front();q.back());
	return 0; 
} 


/*
	输出结果是 0 5  
*/
 

4.常用函数

4.1 push() 

在队尾插入一个元素,用法见上。

4.2 back()、front()

访问队尾、队首元素,用法见上。

4.3 pop()

队首元素出队。

q.pop(); //队首元素出队,函数不用参数。

4.4 size()

int size = q.size(); //返回队列中函数的个数

 4.5 empty()

判断队列是否为空,空则返回 true ,否则返回 false。

if(q.empty() == true){
    printf("Empty");
}else{
    printf("Not Empty");
}
//队列为空则输出 Empty 。

 

你可能感兴趣的:(C++标准模板库)