当前位置: 首页 > news >正文

STL库--stack

目录

stack的定义

stack容器内元素的访问

stack常用函数实例解析

stack的常见用途

stack的定义

其定义的写法和其他STL容器相同,typename可以任意基本类型或容器:

stack<typename> name;

stack容器内元素的访问

由于栈本身就是一种后进先出的数据结构,在STL的stack中只能通过top()来访问栈顶元素。

#include<iostream>
#include<stack>
using namespace std;
int main(){stack<int> st;for(int i=1;i<=5;i++){st.push(i);}printf("%d\n",st.top());return 0;
}

stack常用函数实例解析

(1)push()

push(x)将x入栈,时间复杂度为O\left ( 1 \right )

(2)top()

top()获得栈顶元素,时间复杂度为O\left ( 1 \right )

(3)pop()

pop()用以弹出栈顶元素,时间复杂度为O\left ( 1 \right )

#include<stdio.h>
#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.top());return 0;
}

(4)empty()

empty()可以检测stack内是否为空,返回true为空,返回false为非空,时间复杂度为O\left ( 1 \right )

#include<iostream>
#include<stack>
using namespace std;
int main(){stack<int> st;if(st.empty()==true){printf("Empty\n");}else{printf("Not Empty\n");}st.push(1);if(st.empty()==true){printf("Empty\n");}else{printf("Not Empty\n");}return 0;
}

(5)size()

size()返回stack内元素的个数,时间复杂度为O\left ( 1 \right )

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

stack的常见用途

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

http://www.lryc.cn/news/357790.html

相关文章:

  • 从System Prompt来看Claude3、Kimi和ChatGLM4之间的差距
  • (精确度,召回率,真阳性,假阳性)ACC、敏感性、特异性等 ROC指标
  • Docker安装nginx详细教程
  • FineBI学习总结
  • 现代操作系统上创建各类链接的方法汇总
  • CSS中的Flex布局
  • 基于扩散模型的,开源世界模型DIAMOND
  • 【MySQL精通之路】InnoDB存储引擎
  • 【创作活动】探索 GPT-4o:下一代语言模型的技术革命
  • 【热门话题】Debian常用命令指南
  • 人大金仓 KingBase查询死锁,释放死锁
  • C++高手进阶:Windows 模块加载的艺术与策略
  • 基于STM32单片机老人体温心率血氧跌倒定位短信报警
  • 【测评】雨云香港三区云服务器,2核2G 5兆,仅需38元/月
  • 如何应对Android面试官 -> 玩转 Fragment
  • sdbusplus:通过文件描述符传递数据
  • HyperLPR3 车牌识别
  • 面试的内容
  • 剪映网页版
  • pgsql
  • Kotlin学习笔记 泛型
  • 开发者必看:Linux终端的10大装逼神器,让你的命令行炫酷起来!
  • 20 VUE学习:插件
  • python之any用法
  • 【前端学习——react坑】useState使用
  • 【前端每日基础】day28——async/await
  • 错误记录:从把项目从Tomcat8.5.37转到Tomcat10.1.7
  • AJAX基础知识
  • xcode依赖包package已经安装,但是提示No such module ‘Alamofire‘解决办法
  • 基于Centos7 安装k8s一主两从