queue是一种容器转换器模板,调用#includequeue即可使用队列类,下面这篇文章主要给大家介绍了关于c++中queue用法超详细讲解的相关资料,需要的朋友可以参考下
1、queue的作用
说到queue,大家一定会想到stack,同样是简单易用的数据结构之一。queue就是队列的意思,像大家日常排队一样,先排的人先用。stack则是相反的,后来的先用。这就有了queue先进先出,stack后进先出的说法。
queue是一个很简单的数据结构,但是却非常实用,同时也是必不可少的,其它的数据结构都无法替代队列。
queue常用于模仿队列,在算法中比较常用的有单调队列算法
相信看完本文就能上手使用了
2、queue的定义
queue<储存的类型> 容器名
如:
储存int型数据的队列 queue q;
储存double型数据的队列 queue q;
储存string型数据的队列 queue q;
储存结构体或者类的队列 queue<结构体名> q;
3、queue的成员函数
back() //返回最后一个元素
empty() //如果队列空则返回真
front() //返回第一个元素
pop() //删除第一个元素
push() //在末尾加入一个元素
size() //返回队列中元素的个数
示例代码:
#include<iostream>//c++标准头文件,可以使用cout,cin等标准库函数
#include<queue>//使用queue时需要的头文件
using namespace std;//命名空间,防止重名给程序带来各种隐患,使用cin,cout,stack,map,set,vector,queue时都要使用
int main(){
queue<int> q;//定义一个int类型的队列
q.push(1);//在队尾添加元素1
q.push(2);//在队尾添加元素2
q.push(3);//在队尾添加元素3
cout<<"插入元素1、2、3后,目前队列中的元素:1 2 3"<<endl;
cout<<"q.size()="<<q.size()<<endl;//q.size()查看目前队列中的元素个数
cout<<"q.empty()="<<q.empty()<<endl;//查看队列是否为空,1即为空,0即非空
cout<<"q.front()="<<q.front()<<endl; //查看队首元素
cout<<endl;
q.pop();//队首元素出队
cout<<"q.pop()后,目前队列中的元素:2 3 "<<endl;
cout<<"q.size()="<<q.size()<<endl;//q.size()查看目前队列中的元素个数
cout<<"q.empty()="<<q.empty()<<endl;//查看队列是否为空,1即为空,0即非空
cout<<"q.front()="<<q.front()<<endl; //查看队首元素
cout<<endl;
q.pop();//队首元素出队
cout<<"q.pop()后,目前队列中的元素:3" <<endl;
cout<<"q.size()="<<q.size()<<endl;//q.size()查看目前队列中的元素个数
cout<<"q.empty()="<<q.empty()<<endl;//查看队列是否为空,1即为空,0即非空
cout<<"q.front()="<<q.front()<<endl; //查看队首元素
cout<<endl;
q.pop();//队首元素出队
cout<<"q.pop()后,目前队列是空的"<<endl;
cout<<"q.size()="<<q.size()<<endl;//q.size()查看目前队列中的元素个数
cout<<"q.empty()="<<q.empty()<<endl;//查看队列是否为空,1即为空,0即非空
cout<<"队列是空的时候将不能用q.front()查看队首元素" <<endl;
}
运行结果:
插入元素1、2、3后,目前队列中的元素:1 2 3
q.size()=3
q.empty()=0
q.front()=1q.pop()后,目前队列中的元素:2 3
q.size()=2
q.empty()=0
q.front()=2q.pop()后,目前队列中的元素:3
q.size()=1
q.empty()=0
q.front()=3q.pop()后,目前队列是空的
q.size()=0
q.empty()=1
队列是空的时候将不能用q.front()查看队首元素
queue和stack都是不能随机访问的,即通过下标访问元素,也不能遍历
至此队列的基本用法就学完咯
是不是很简单呢?
刚接触肯定会觉得难,多些做题多些用,熟悉了就容易了,兄弟萌,加油!!!
总结
到此这篇关于c++中queue用法的文章就介绍到这了,更多相关c++ queue用法内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:c++中queue用法超详细讲解(入门必看!)
基础教程推荐
- C++详细实现完整图书管理功能 2023-04-04
- C语言基础全局变量与局部变量教程详解 2022-12-31
- 一文带你了解C++中的字符替换方法 2023-07-20
- C语言 structural body结构体详解用法 2022-12-06
- 详解c# Emit技术 2023-03-25
- 如何C++使用模板特化功能 2023-03-05
- C/C++编程中const的使用详解 2023-03-26
- C++中的atoi 函数简介 2023-01-05
- C++使用easyX库实现三星环绕效果流程详解 2023-06-26
- C利用语言实现数据结构之队列 2022-11-22