【算法通关指南:数据结构和算法篇】栈的实现不用愁!数组 + 变量 n,新手也能 拿捏栈实现

【算法通关指南:数据结构和算法篇】栈的实现不用愁!数组 + 变量 n,新手也能 拿捏栈实现
在这里插入图片描述
🔥小龙报:个人主页
🎬作者简介:C++研发,嵌入式,机器人方向学习者
❄️个人专栏:《算法通关指南 》
永远相信美好的事情即将发生
在这里插入图片描述


文章目录


前言

本专栏聚焦算法题实战,系统讲解算法模块:以《c++编程》,《数据结构和算法》《基础算法》《算法实战》 等几个板块以题带点,讲解思路与代码实现,帮助大家快速提升代码能力
ps:本章节题目分两部分,比较基础笔者只附上代码供大家参考,其他的笔者会附上自己的思考和讲解,希望和大家一起努力见证自己的算法成长
在这里插入图片描述

一、栈的概念

栈是⼀种只允许在⼀端进行数据插入和删除操作的线性表。
(1)进行数据插入或删除的一端称为 栈顶,另⼀端称为栈底。不含元素的栈称为空栈。
(2) 进栈就是往栈中放入元素,出栈就是将元素弹出栈顶

ps: 栈其实是⼀个比较简单的数据结构。学习的重点在于用栈去解决问题,这也是难点。
【注意】
如果定义了⼀个栈结构,那么添加和删除元素只能在栈顶进行。不能随意位置添加和删除元素,这是栈这个数据结构的特性,也是规定。

二、栈的模拟实现

2.1创建

(1)本质还是线性表,因此可以创建⼀个足够大的数组,充当栈结构
(2)再定义⼀个变量n,用来记录栈中元素的个数,同时还可以标记栈顶的位置。

在这里插入图片描述
constint N =1e6+10;int stk[N];int n;

2.2进栈

这里依旧舍弃下标为0 的位置,有效元素从 1开始记录
进栈操作,那就把元素放在栈顶位置即可。
不必

在这里插入图片描述
//进栈voidpush(int x){ stk[++n]= x;}

时间复杂度:O(1)

2.3出栈

ps:不用真的删除元素,只用将元素个数减1,就相当于删除栈顶元素。

在这里插入图片描述
//出栈voidpop(){ n--;}

时间复杂度:O(1)

2.4栈顶元素

注意:因为栈特殊的规定,不⽀持遍历整个栈中的元素。因此,需要查找栈中元素的时候,只能查找到栈顶元素

在这里插入图片描述
// 栈顶元素inttop(){return stk[n];}

时间复杂度:O(1)

2.5判空

在这里插入图片描述
// 判空 bool empty(){return n ==0;}

时间复杂度:O(1)

2.6有效元素个数

在这里插入图片描述
// 栈中元素个数 intsize(){return n;}

时间复杂度:O(1)

2.7 所有测试代码

#include<iostream> using namespace std;constint N =1e6+10;int stk[N];int n;//进栈voidpush(int x){ stk[++n]= x;}//出栈voidpop(){ n--;}// 栈顶元素inttop(){return stk[n];}// 判空 bool empty(){return n ==0;}// 栈中元素个数 intsize(){return n;}intmain(){for(int i =1; i <=10; i++)push(i);while(!empty())// while(size()) { cout <<top()<<" ";pop();}return0;}

运行结果:

在这里插入图片描述

三、stack

3.1 如何创建

stack<T> st;//T 可以是任意类型的数据。

3.2容器相关接口

3.2.1 size / empty

(1)size :返回栈里实际元素的个数;
(2)empty :返回栈是否为空。
时间复杂度:O(1)

3.2.2 push/pop

(1) push :进栈;
(2) pop:出栈。
时间复杂度:O(1)

3.2.3 top

(1) top:返回栈顶元素,但是不会删除栈顶元素。
时间复杂度: O(1)

3.3测试所有接口

#include<iostream>#include<stack> using namespace std;intmain(){ stack<int> st;// 先讲1~10进栈for(int i =1; i <=10; i++){ st.push(i);}while(st.size())// !st.empty(){ cout << st.top()<< endl; st.pop();}return0;}

运行结果:

在这里插入图片描述

总结 — 每日励志时刻

本文介绍了栈(stack)这一数据结构的概念、模拟实现及C++ STL中的stack容器。文章首先阐述了栈作为"后进先出"(LIFO)线性表的特点,包括栈顶、栈底操作规则。随后详细讲解了使用数组模拟栈的实现方法,包括进栈(push)、出栈(pop)、获取栈顶元素(top)、判空(empty)等基本操作,并提供了完整的测试代码。最后介绍了C++ STL中的stack容器及其接口使用,通过示例代码展示了如何利用STL stack进行基本操作。全文强调栈在算法竞赛中的应用价值,并指出其操作的时

在这里插入图片描述

Read more

人工智能赋能传统医疗设施设备改造:路径、挑战与未来展望

人工智能赋能传统医疗设施设备改造:路径、挑战与未来展望

摘要 随着全球人口老龄化加剧、慢性病负担日益沉重以及公众对高质量医疗服务需求的不断增长,传统医疗体系正面临前所未有的压力。作为医疗服务的物质基础,传统医疗设施设备在运行效率、诊断精准度、运维成本和数据整合等方面暴露出诸多局限,成为制约医疗体系发展的瓶颈。人工智能(AI)技术的飞速发展,尤其是深度学习、计算机视觉和自然语言处理等领域的突破,为破解这些难题提供了革命性的工具。本文旨在系统性地探讨人工智能对传统医疗设施设备的改造路径、应用现状、面临挑战及未来趋势。 论文首先剖析了传统医疗设备普遍存在的“数据孤岛”、对人工经验的强依赖、高昂的运维管理成本以及有限的诊断效率等核心问题。随后,文章重点阐述了AI改造的四大核心方向: 一、以CNN、Transformer等模型为代表的智能诊断与影像识别技术,如何赋能CT、MRI等影像设备,实现疾病的早期筛查、病灶精准分割和报告自动生成; 二、结合物联网(IoT)技术的智能设备运维与预测性维护,如何通过实时监控和数据分析,变被动维修为主动预警,显著降低设备停机率; 三、AI与HIS/EMR系统集成,如何驱动临床流程自动化与辅助决策,优化从分诊、诊疗

By Ne0inhk
人工智能 Gemini 2.5 Pro:深度解析技术突破与实战应用

人工智能 Gemini 2.5 Pro:深度解析技术突破与实战应用

🎬 个人主页:艾莉丝努力练剑 ❄专栏传送门:《C语言》《数据结构与算法》《C/C++干货分享&学习过程记录》 《Linux操作系统编程详解》《笔试/面试常见算法:从基础到进阶》《Python干货分享》 ⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平 🎬 艾莉丝的简介: 文章目录 * 前言 * 一、技术架构的三大革命性突破 * 1.1 稀疏混合专家架构:容量与效率的完美平衡 * 1.2 动态推理预算:让AI学会"思考" * 1.3 超长上下文处理:百万Token带来的质变 * 二、多模态能力的实质性突破 * 2.1 视频理解到交互应用 * 2.2 图像到代码的精准转换 * 2.3 跨模态逻辑推理

By Ne0inhk

【保姆级教程】告别命令行!ClawX:可视化AI智能体,小白也能轻松玩出花!

【保姆级教程】告别命令行!ClawX:可视化AI智能体,小白也能轻松玩出花! 黑底白字、敲命令、改配置… 是不是每次想让AI乖乖干活,都得先在终端里跟那些"代码黑魔法"死磕? 现在不用了!今天给大家安利一款「零门槛AI神器」——ClawX,让你把OpenClaw的强大能力装进可视化界面,从此和枯燥的命令行说拜拜! 🚀 为什么你需要ClawX?(痛点暴击!) 想象一下: * 同事A:“你会用OpenClaw写个定时抓取新闻的Agent吗?” * 你(内心OS):“先安装Node.js,配置npm镜像源,再写个Cron表达式…啊,我的发际线!” ClawX直接把「AI智能体」变成了手机App: ✅ 零配置小白友好:下载安装→填API Key→开聊,全程不用碰黑窗口 ✅ 聊天式操作:像微信聊天一样输入prompt,AI直接给你出结果 ✅ 可视化自动化:拖拽设置定时任务,7x24小时当你的"数字打工人&

By Ne0inhk
2026 AI“龙虾”大战!OpenClaw、MaxClaw、AutoClaw、QClaw、ArkClaw、KimiClaw、LobsterAI等9款产品横评 + 场景推荐,谁值得你“养”?

2026 AI“龙虾”大战!OpenClaw、MaxClaw、AutoClaw、QClaw、ArkClaw、KimiClaw、LobsterAI等9款产品横评 + 场景推荐,谁值得你“养”?

2026 AI“龙虾”大战!OpenClaw、MaxClaw、AutoClaw、QClaw、ArkClaw、KimiClaw、LobsterAI等9款产品横评 + 场景推荐,谁值得你“养”? 🦞 2026年开年,最火的不是新GPT,而是“养龙虾”! 一只来自奥地利的开源AI Agent框架OpenClaw,以26万+ GitHub Stars一举登顶全球TOP1,超越React和Linux!它能真正“动手干活”:操控浏览器、发邮件、写代码、整理Excel、甚至远程微信控制电脑,被大家亲切叫作“小龙虾”。 大厂们闻风而动:MiniMax、月之暗面、智谱、腾讯、火山引擎、网易有道、阿里云等纷纷推出简化版/云托管版,门槛从“极客专属”降到“小白5分钟上手”。 本文横评9款主流产品(OpenClaw原版 + 8大商业/优化版)

By Ne0inhk