c++中queue用法超详细讲解(入门必看!)

 更新时间:2022年10月31日 12:37:07   作者:旧林墨烟  
queue是一种容器转换器模板,调用#include< queue>即可使用队列类,下面这篇文章主要给大家介绍了关于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()=1

q.pop()后,目前队列中的元素:2 3
q.size()=2
q.empty()=0
q.front()=2

q.pop()后,目前队列中的元素:3
q.size()=1
q.empty()=0
q.front()=3

q.pop()后,目前队列是空的
q.size()=0
q.empty()=1
队列是空的时候将不能用q.front()查看队首元素

queue和stack都是不能随机访问的,即通过下标访问元素,也不能遍历

至此队列的基本用法就学完咯

是不是很简单呢?

刚接触肯定会觉得难,多些做题多些用,熟悉了就容易了,兄弟萌,加油!!!

总结

到此这篇关于c++中queue用法的文章就介绍到这了,更多相关c++ queue用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C++中priority_queue与仿函数实现方法

    C++中priority_queue与仿函数实现方法

    这篇文章主要给大家介绍了关于C++中priority_queue与仿函数实现的相关资料,优先级队列是一种容器适配器,其底层通常采用vector容器,并通过堆算法来维护元素的顺序,文中通过代码介绍的非常详细《》需要的朋友可以参考下
    2024-10-10
  • QT生成随机验证码的方法

    QT生成随机验证码的方法

    这篇文章主要为大家详细介绍了QT生成随机验证码的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • C++实例详解lambda表达式的使用

    C++实例详解lambda表达式的使用

    Lambda表达式是现代C++在C ++ 11和更高版本中的一个新的语法糖 ,在C++11、C++14、C++17和C++20中Lambda表达的内容还在不断更新。 lambda表达式(也称为lambda函数)是在调用或作为函数参数传递的位置处定义匿名函数对象的便捷方法
    2022-05-05
  • C语言实现24点游戏计算器的示例代码

    C语言实现24点游戏计算器的示例代码

    24点是一种益智游戏,24点是把4个整数(一般是正整数)通过加减乘除以及括号运算,使最后的计算结果是24的一个数学游戏,24点可以考验人的智力和数学敏感性,它能在游戏中提高人们的心算能力。本文将用C语言实现这一游戏,感兴趣的可以了解一下
    2022-08-08
  • C++ 递归遍历文件并计算MD5的实例代码

    C++ 递归遍历文件并计算MD5的实例代码

    在本篇文章里小编给大家整理的是一篇关于C++ 递归遍历文件并计算MD5的实例代码,有兴趣的朋友们可以学习参考下。
    2021-07-07
  • C语言动态内存规划详解

    C语言动态内存规划详解

    这篇文章主要介绍了C语言动态内存的规划,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-10-10
  • C语言实现手写Map(全功能)的示例代码

    C语言实现手写Map(全功能)的示例代码

    这篇文章主要为大家详细介绍了如何利用C语言实现手写Map(全功能),文中的示例代码讲解详细,对我们学习C语言有一定帮助,需要的可以参考一下
    2022-08-08
  • C++中std::string::npos的用法

    C++中std::string::npos的用法

    这篇文章主要介绍了C++中std::string::npos的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • 嵌入式C语言二级指针在链表中的应用

    嵌入式C语言二级指针在链表中的应用

    这篇文章主要为大家介绍了嵌入式C语言二级指针在链表中的应用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • C++实现骑士走棋盘算法

    C++实现骑士走棋盘算法

    这篇文章主要为大家详细介绍了C++实现骑士走棋盘算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07

最新评论