stack翻译为栈,时STL中实现的一个后进先出的容器

1、stack的定义

【头文件】

#include<stack>

using namespace;

定义方法与其他容器相同,typename可以任意基本类型数据类型或容器

stack<typename> name;

2、stack容器内元素的访问

由于栈(stack)本身就是一种后进先出的数据结构

在STL的stack中只能通过top()来访问栈顶元素

#include<utility>
#include<iostream>
#include<stdio.h>
#include<string>
#include<algorithm>
#include<map>
#include<vector>
#include<stack>
using namespace std;
int main()
{stack<int> st;for(int i=1;i<=5;i++){st.push(i);}printf("%d\n",st.pop());return 0;
}

3、stack常用函数

①push()

入栈

②top()

获得栈顶元素

③pop()

弹出栈顶元素

#include<utility>
#include<iostream>
#include<stdio.h>
#include<string>
#include<algorithm>
#include<map>
#include<vector>
#include<stack>
using namespace std;
int main()
{stack<int> st;for(int i=1;i<=5;i++){st.push(i);}for(int i=1;i<=3;i++){st.pop();}printf("%d\n",st.pop());return 0;
}

④empty()

可以检测stack内是否为空,返回true为空,返回false为非空

⑥size()

返回stack内元素的个数

4、stack的常见用途

stack常用来模拟一些递归,防止程序对栈内存的限制而导致程序出错

一般来说

程序的栈内存空间很小

对有些题目来说

如果用普通的函数来进行递归

一旦递归层数过深

则会导致程序运行崩溃

如果用栈来模拟递归算法的实现

可以避免这一方面的问题

知识点来自于《算法笔记》

stack的常见用法相关推荐

  1. STL剖析(二):容器底层数据结构及常见用法

    一.概述 本文主要聚焦于STL容器,STL完整的容器分类体系如下所示,下文将逐一对各个容器底层的数据结构以及常见用法进行介绍. 测试环境:Ubuntu 22.04 g++ 11.3.0 二.顺序容器 ...

  2. mysql中正则表达式的用法_Mysql中正则表达式Regexp常见用法

    Mysql中Regexp常见用法 模糊匹配,包含特定字符串 # 查找content字段中包含"车友俱乐部"的记录 select * from club_content where ...

  3. torch.stack(), torch.cat()用法详解

    torch.stack(), torch.cat()用法详解 if __name__ == '__main__':import torchx_dat = torch.tensor([[1, 2], [ ...

  4. python六:常见数据类型以及常见用法

    bool 布尔值 # 在bool中 0,()(空元祖),[](空列表),{}(空字典),None,""(空字符串) 都是False int 整形 float 浮点型 str 字符串 ...

  5. vue-router 的常见用法

    vue-router 的常见用法 1. 路由重定向 路由重定向指的是:用户在访问地址 A 的时候,强制用户跳转到地址 C ,从而展示特定的组件页面. 通过路由规则的 redirect 属性,指定一个新 ...

  6. 空的宏定义作用及常见用法

    空的宏定义作用及常见用法 我们学习宏定义的第一个概念是,宏定义作为替换作用. 例如: #define SIZE 32 // 接下来代码使用SIZE就相当于32 宏定义是编译器在编译时,将程序中所有SI ...

  7. Arrays常见用法

    Arrays常见用法

  8. sed文本处理常见用法

    sed文本处理常见用法    2011-06-24  TsengYia#126.com http://tsengyia.blog.chinaunix.net/   ################## ...

  9. typeset的常见用法

    [保留] typeset的常见用法 http://www.chinaunix.net 作者:寂寞烈火  发表于:2007-12-16 09:50:34 [发表评论] [查看原文] [Shell讨论区] ...

  10. 框架前期准备篇之AutoFac常见用法总结 转载

    框架前期准备篇之AutoFac常见用法总结 一. 说在前面的话 凡是大约工作在两年以上的朋友们,或多或少都会接触到一些框架搭建方面的知识,只要一谈到框架搭建这个问题或者最佳用法这个问题,势必会引起一点 ...

最新文章

  1. 斯隆奖新晋得主宋舒然:从视觉出发,打造机器人之「眼」
  2. hbase 数据库简介安装与常用命令的使用
  3. 面试之 Mysql 汇总
  4. 华为路由器ospf路由表解读_网络-路由交换-路由基础-华为-OSPF的工作原理
  5. Visual Studio Code 1.36 发布,结束对 Linux 32 位系统的支持
  6. Atitit opencv版本新特性attilax总结
  7. 人均瑞数系列,瑞数 4 代 JS 逆向分析
  8. java saxreader 字符串_解析XML文件(字符串)的两种方法-----SAXReader 与 DocumentHelper...
  9. PHP反三角函数,反三角函数求导公式
  10. EBS R12中SLA子分类帐与子模块的关联关系
  11. 槑图秀秀 (初学JAVA第三篇)
  12. hutool压缩文件
  13. IOS ipv6测试
  14. js去除字符串中的空白字符(也可以去除其他字符串)
  15. OIO和NIO的区别
  16. macOS Big Sur到来,为Mac带来巨大变化
  17. 玫瑰c语言程序教程,c语言如何实现玫瑰花
  18. Azure IoT Hub 十分钟入门系列 (2)- 使用模拟设备发送设备到云(d2c)的消息
  19. 2022 高德地图的使用 获取当前城市
  20. hiho 1082 : 然而沼跃鱼早就看穿了一切

热门文章

  1. 【历史上的今天】2 月 11 日:首款 Ubuntu 手机问世;苹果的天使投资人诞生;电子工业联盟正式停运
  2. 日记 [2006年06月06日] 庞加莱猜想
  3. 曾经的移动应用推广八法尚能饭否?再加一法大概就事半功倍!
  4. 小型微型计算机怎么样,电脑小主机怎么样,全方位分析小型电脑主机优缺点
  5. 计算机音乐谱大全告白气球,周杰伦《告白气球》钢琴曲谱
  6. 平安性格测试题及答案_【中国平安人寿保险平安保险性格测试特别是智商题通过率怎么样】-看准网...
  7. day16-17-18.对象序列化和反序列化、API获取数据、python操作Excel/CSV文件、类、面向对象编程(初级及进阶)、继承
  8. 2021年全国居住场所火灾死亡人数、受伤人数、火灾发生原因及造成直接财产损失分析[图]
  9. Google的“神秘链接”
  10. 计算机不支持win10 1809更新,Win10 1809更新失败解决方法