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入栈,时间复杂度为
(2)top()
top()获得栈顶元素,时间复杂度为
(3)pop()
pop()用以弹出栈顶元素,时间复杂度为
#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为非空,时间复杂度为
#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内元素的个数,时间复杂度为
#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用来模拟实现一些递归,防止程序对栈内存的限制而导致程序运行出错。
相关文章:
STL库--stack
目录 stack的定义 stack容器内元素的访问 stack常用函数实例解析 stack的常见用途 stack的定义 其定义的写法和其他STL容器相同,typename可以任意基本类型或容器: stack<typename> name; stack容器内元素的访问 由于栈本身就是一种后进先出…...
从System Prompt来看Claude3、Kimi和ChatGLM4之间的差距
大家好,我是herosunly。985院校硕士毕业,现担任算法t研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算…...
(精确度,召回率,真阳性,假阳性)ACC、敏感性、特异性等 ROC指标
(精确度,召回率,真阳性,假阳性)ACC、敏感性、特异性等 ROC指标...
Docker安装nginx详细教程
详细教程如下: 1. 拉取Nginx镜像 docker pull nginx默认拉最新的(也可以根据自己的需求指定版本) 2. 运行Nginx容器 docker run --name my-nginx -d -p 80:80 nginx--name my-nginx:容器名称,便于管理。-d…...
FineBI学习总结
大数据分析BI工具:用户只需简单拖拽便能制作出丰富多样的数据可视化信息 关注点: 快速入门、数据加工、构建图表和分析数据、数据分析进阶 1、界面介绍 目录–仪表板–数据准备 仪表板目录–预览区域 快速上手: 1、数据准备2、制作仪表板3、分…...
现代操作系统上创建各类链接的方法汇总
文章目录 现代操作系统上创建各类链接的方法汇总windows: cmd下的mklink创建链接示例 powershell 创建链接创建常规文件和目录创建链接 linux shell 创建硬链接NAMESYNOPSIS详细说明常用选项示例 检查与辨识符号链接🎈linux下检查ls -l 命令file 命令 windows下检查…...
CSS中的Flex布局
目录 一.什么是Flex布局 二.Flex布局使用 2.1Flex使用语法 2.2基本概念 三.容器的属性 3.1所有属性概述 3.2flex-direction 3.3flex-wrap 3.4flex-flow 3.5justify-content 3.6align-items 3.7align-content 四.项目(子元素)的属性 4.1所有属性概述 4.2order 4…...
基于扩散模型的,开源世界模型DIAMOND
日内瓦大学、微软研究院和爱丁堡大学的研究人员联合开源了,基于扩散模型的世界模型—DIAMOND。 研究人员之所以选择扩散模型作为基础,是因为可以更好地捕捉视觉细节,同时具有建模复杂多模态分布的能力,以便在不同的环境下进行训练…...
【MySQL精通之路】InnoDB存储引擎
欢迎大家关注Innodb存储引擎专栏: http://t.csdnimg.cn/gEsSn 以下是innodb存储引擎相关所有的的知识点。 1.InnoDB简介 2.InnoDB与ACID模型 3.InnoDB多版本 4.InnoDB体系结构 下图显示了构成InnoDB存储引擎体系结构的内存和磁盘结构。 有关每个结构的信息&…...
【创作活动】探索 GPT-4o:下一代语言模型的技术革命
😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…...
【热门话题】Debian常用命令指南
🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 💫个人格言: "如无必要,勿增实体" 文章目录 Debian常用命令指南引言1. 文件与目录操作lscdmkdirrmcpmv 2. 包管理aptdpkg 3.…...
人大金仓 KingBase查询死锁,释放死锁
人大金仓(kingbase)查询数据库死锁及释放 kingbase锁表排查以及释放锁 总结下 -- 查询,可自己添加where条件 SELECT * FROM sys_stat_activity WHERE state ! idle AND wait_event_typeLock-- 结束进程 SELECT sys_terminate_backend(pid);...
C++高手进阶:Windows 模块加载的艺术与策略
前文我们讲到了怎么不依赖第三库,搭建自己的测试框架 没有看的读者可以通过这个链接自行阅读: 👉👉👉 自力更生:0依赖三方库,手把手教你打造专属C测试框架 作为项目开发来说,我们通常…...
基于STM32单片机老人体温心率血氧跌倒定位短信报警
一.硬件及设计功能 以STM32F103C8T6为中央处理器,GPS模块用采集数据,将数据发送给单片机后,单片机根据定位计算公式得出当前位置的经纬度信息和时间信息。经过LCD显示器处理后得出和时间信息SIM800模块发送短信到设定的手机号上,将…...
【测评】雨云香港三区云服务器,2核2G 5兆,仅需38元/月
写在前面 雨云香港三区云服务器,高性能的 AMD EPYC 处理器 企业级 NVME SSD 高性能云服务器。2核2G 10兆 400G防御,仅需38元/月,年付7折仅 319.2元/年。 官网:https://www.rainyun.com 本次测评服务器配置如下: C…...
如何应对Android面试官 -> 玩转 Fragment
前言 本章主要讲解下 Framgent 的核心原理; 基础用法 线上基础用法,其他的可以自行百度 FragmentManager manager getSupportFragmentManager(); FragmentTransaction transaction manager.beginTransaction(); transaction.add(R.id.contentlayout,…...
sdbusplus:通过文件描述符传递数据
有的时候需要传递大量的数据,如果将数据通过dbus传递,会消耗大量的带宽。可以通过传递一个文件描述符替代传递数据: 以下的service通过文件描述符接收数据: //fd_service.cpp #include <sdbusplus/asio/connection.hpp> #include <sdbusplus/asio/object_server…...
HyperLPR3 车牌识别
Linux 之前安装了python3 apt install python3.8-venv cd /root python3 -m venv HyperLPR3 REM cd HyperLPR3 source HyperLPR3/bin/activate 参考 https://www.jb51.net/article/222885.htm python -m pip install hyperlpr3 里面有fastapi,opencv等 错误&#x…...
面试的内容
1.C的三大特性:封装,继承,多态 2.C11的特性 3.NULL与Nullptr的区别: nullptr是一个特殊的空指针常量,不能被隐式转换为其他类型。 NULL 在一些情况下可能会发生隐式类型转换 4.智能指针 5.stl/Qt stl stl容器包含哪些&…...
剪映网页版
https://www.capcut.cn/web 免费,免安装,跨平台,视频云合成,简直太好用了!...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...
【JVM面试篇】高频八股汇总——类加载和类加载器
目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...
【FTP】ftp文件传输会丢包吗?批量几百个文件传输,有一些文件没有传输完整,如何解决?
FTP(File Transfer Protocol)本身是一个基于 TCP 的协议,理论上不会丢包。但 FTP 文件传输过程中仍可能出现文件不完整、丢失或损坏的情况,主要原因包括: ✅ 一、FTP传输可能“丢包”或文件不完整的原因 原因描述网络…...
SOC-ESP32S3部分:30-I2S音频-麦克风扬声器驱动
飞书文档https://x509p6c8to.feishu.cn/wiki/SKZzwIRH3i7lsckUOlzcuJsdnVf I2S简介 I2S(Inter-Integrated Circuit Sound)是一种用于传输数字音频数据的通信协议,广泛应用于音频设备中。 ESP32-S3 包含 2 个 I2S 外设,通过配置…...
比较数据迁移后MySQL数据库和PostgreSQL数据仓库中的表
设计一个MySQL数据库和PostgreSQL数据库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较两…...
