C++初阶 Stack和Queue的介绍和使用
创始人
2024-04-09 23:17:33
0

作者:@小萌新
专栏:@C++初阶
作者简介:大二学生 希望能和大家一起进步
本篇博客介绍:本篇博客会简单的介绍STL中的栈和队列
在这里插入图片描述

本章目标

  1. 复习下栈这种数据结构特点
  2. 知道怎么使用STL中的栈
  3. 复习下队列这种数据结构的特点
  4. 知道怎么使用STL中的队列

Stack 栈

栈的特点

栈是一个先进先出的数据结构 它的数据从头部插入 从头部删除

一般来说栈是使用顺序表来实现的

在这里插入图片描述

如果说你对于栈这种数据结构还不熟悉或者说根本没学过的话 可以参考下萌新

的这篇博客

初阶数据结构栈

STL中的stack

定义

在STL中有两种使用方式

  1. 直接指定类型使用
    像这样子
   stack st1;
  1. 指定适配器实现栈
    像这样子
	stack> st2;stack> st3;

这里的适配器是什么意思呢?

实际上就是指定了我们在底层使用哪种方式实现栈

比如说

stack> st2;

这就是指定了我们在底层使用vector实现stack

使用

在这里插入图片描述

这里的这些在经历了string vector list之后是不是就轻车熟路了啊

所以下面我们直接用一段遍历将上面重要的函数全部用一边就可以

代码和显示效果如下

int main()
{stack st1;//stack> st2;//stack> st3;st1.push(1);st1.push(2);st1.push(3);st1.push(4);st1.push(5);while (!st1.empty()){cout << st1.top() << " ";st1.pop();}cout << endl;return 0;
}

在这里插入图片描述

队列 Queue

队列的特点

队列是一种经典的尾插头出的数据结构 类似下图

在这里插入图片描述
如果说你对于队列这种数据结构还不熟悉或者说根本没学过的话 可以参考下萌新

的这篇博客

初阶数据结构队列

STL中的queue

定义

定义方式和栈一眼 同样有两种

方式一:

  queue q1;

方式二:

指定适配器定义

代码表示如下

	queue> q2;queue> q3;

使用

在这里插入图片描述
还是一眼 我们使用一段代码来实现上面大部分重要的内容

代码和演示效果图如下

int main()
{queue q1;queue> q2;queue> q3;q1.push(1);q1.push(2);q1.push(3);q1.push(4);q1.push(5);while (!q1.empty()){cout << q1.front() << " ";q1.pop();}return 0;
}

在这里插入图片描述

总结

在这里插入图片描述

stack和queue是两种容器适配器 大体与我们之前学的数据结构类似

本篇博客介绍了STL库中stack和queue怎么使用
其实学到这里了 这些使用方式应该一眼就能看明白了 不过为了博客整体的工整萌新还是写下了这篇文章
如果这篇文章帮助到了你 别忘记一键三连啊
阿尼亚 哇酷哇酷!

相关内容

热门资讯

不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
安卓文字转语音tts没有声音 安卓文字转语音TTS没有声音的问题在应用中比较常见,通常是由于一些设置或者代码逻辑问题导致的。本文将...
APK正在安装,但应用程序列表... 这个问题可能是由于以下原因导致的:应用程序安装的APK文件可能存在问题。设备上已经存在同名的应用程序...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
报告实验.pdfbase.tt... 这个错误通常是由于找不到字体文件或者文件路径不正确导致的。以下是一些解决方法:确认字体文件是否存在:...