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怎么使用
其实学到这里了 这些使用方式应该一眼就能看明白了 不过为了博客整体的工整萌新还是写下了这篇文章
如果这篇文章帮助到了你 别忘记一键三连啊
阿尼亚 哇酷哇酷!

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...