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

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...