夸克网站免费进入龙岩网站建设方案优化

张小明 2025/12/25 12:06:05
夸克网站免费进入,龙岩网站建设方案优化,羽毛球最新赛事,模块化局域网网站建设软件做题目的前提#xff1a;了解栈相关的知识 栈的相关知识#xff1a; 栈和队列栈#xff1a;只能在表尾进行插入或删除操作的线性表 栈顶#xff1a;表尾部#xff08;操作的一端#xff09;栈底#xff1a;表头部#xff08;固定的一端#xff09;空栈#xff1a;…做题目的前提了解栈相关的知识栈的相关知识栈和队列栈只能在表尾进行插入或删除操作的线性表栈顶表尾部操作的一端栈底表头部固定的一端空栈不含元素的空表栈的特性先进后出 / 后进先出栈的操作进栈插入元素、出栈删除最后插入的元素栈的顺序结构实现栈的顺序结构基于数组实现栈顶指针对应数组下标栈声明时已预先开辟数组空间无需动态初始化1. 基础定义宏、类型、结构体// 栈的最大容量 #define MAXSIZE 100 // 栈存储的数据类型 typedef int ElemType; // 顺序栈的结构体定义 typedef struct { ElemType data[MAXSIZE]; int top; // 栈顶指针取值范围-1 ~ MAXSIZE-1 } Stack;2. 栈的初始化函数// 初始化栈将栈顶指针设为-1表示空栈 void initStack(Stack *s) { s-top -1; }3. 判断栈是否为空// 判断栈是否为空空栈返回1非空返回0 int isEmpty(Stack *s) { if (s-top -1) { printf(空的\n); return 1; } else { return 0; } }4. 进栈压栈函数// 进栈将元素e压入栈成功返回1栈满返回0 int push(Stack *s, ElemType e) { // 判断栈是否已满 if (s-top MAXSIZE - 1) { printf(满了\n); return 0; } // 栈顶指针上移存入元素 s-top; s-data[s-top] e; return 1; }5. 出栈函数// 出栈取出栈顶元素存入*e成功返回1空栈返回0 int pop(Stack *s, ElemType *e) { // 判断栈是否为空 if (s-top -1) { printf(空的\n); return 0; } // 取出栈顶元素栈顶指针下移 *e s-data[s-top]; s-top--; return 1; }6. 获取栈顶元素函数// 获取栈顶元素将栈顶元素存入*e成功返回1空栈返回0 int getTop(Stack *s, ElemType *e) { // 判断栈是否为空 if (s-top -1) { printf(空的\n); return 0; } // 取出栈顶元素不移动栈顶指针 *e s-data[s-top]; return 1; }力扣题链接20. 有效的括号 - 力扣LeetCode视频参考栈的拿手好戏| LeetCode20. 有效的括号_哔哩哔哩_bilibili题目类似题有效括号可参考这篇博客栈有效括号-CSDN博客力扣150. 逆波兰表达式求值 - 力扣LeetCode参考视频栈的最后表演 | LeetCode150. 逆波兰表达式求值_哔哩哔哩_bilibilipta题目解析题目看这个题目很懵不知道怎么就得出这个数了在这之前我们先了解一下逆波兰表达式也是后缀表达式123*就是逆波兰表达式3*21笔记A.了解什么事后缀表达式/逆波兰表达式1. 中缀表达式定义运算符位于两个操作数中间的表达式称为中缀表达式。示例12×3编译系统的处理局限直接从前往后读取中缀表达式时无法区分运算符的优先级因此实际中编译系统会将中缀表达式转换为后缀表达式逆波兰表达式。2. 后缀表达式/逆波兰表达式定义算术表达式中运算符位于对应操作数的后面。示例中缀表达式12×3对应的后缀表达式为1 2 3 × 计算示例以上述后缀为例这个计算也是二叉树的中序排序参考视频中的例子先算2×36再算167B.核心操作遇到数字入栈遇到操作符出栈计算完毕再入栈计算目标基于中缀表达式(12)×(34)其对应的后缀表达式为1 2 3 4 ×以下是该后缀表达式的计算过程。核心规则遇到数字 → 入栈遇到运算符 → 弹出栈顶 2 个元素运算结果入栈。计算步骤栈状态实时展示步骤操作处理后缀字符栈的状态栈顶在右侧运算过程1处理数字1[1]数字入栈2处理数字2[1, 2]数字入栈3处理运算符先弹出2、1运算123结果入栈[3]4处理数字3[3, 3]数字入栈5处理数字4[3, 3, 4]数字入栈6处理运算符先弹出4、3运算347结果入栈[3, 7]7处理运算符×先弹出7、3运算3×721结果入栈[21]8计算结束最终栈顶值21即表达式结果手写笔记C.总结栈的特性适合处理 “相邻字符的消去运算操作”是后缀表达式求值的核心数据结构。pta答案c语言版#include stdio.h #include ctype.h // 用于判断数字字符 // 1. 基础定义仅保留必需部分 #define MAXSIZE 20 // 适配题目表达式不超过20字符 typedef double ElemType; // 浮点型适配除法精度 typedef struct { ElemType data[MAXSIZE]; int top; // 栈顶指针-1表示空栈 } Stack; // 2. 栈的初始化函数必需 void initStack(Stack *s) { s-top -1; } // 4. 进栈压栈函数必需 int push(Stack *s, ElemType e) { if (s-top MAXSIZE - 1) { return 0; } s-top; s-data[s-top] e; return 1; } // 5. 出栈函数必需 int pop(Stack *s, ElemType *e) { if (s-top -1) { return 0; } *e s-data[s-top]; s-top--; return 1; } // 主函数后缀表达式求值 int main() { char expr[21]; // 存储后缀表达式最多20字符结束符 Stack s; // 定义栈变量 // 多组输入处理到文件尾 while (scanf(%s, expr) ! EOF) { initStack(s); // 初始化栈 // 遍历表达式字符 for (int i 0; expr[i] ! \0; i) { if (isdigit(expr[i])) { // 数字转浮点型压栈 ElemType num (double)(expr[i] - 0); push(s, num); } else { // 运算符弹出两个操作数计算 ElemType a, b, res; pop(s, b); // 右操作数 pop(s, a); // 左操作数 // 运算逻辑 switch (expr[i]) { case : res a b; break; case -: res a - b; break; case *: res a * b; break; case /: res a / b; break; default: res 0; } push(s, res); // 结果压栈 } } // 输出最终结果保留两位小数 ElemType result; pop(s, result); printf(%.2f\n, result); } return 0; }力扣答案c语言版#include stdio.h #include stdlib.h #include string.h #define MAXSIZE 10000 // 适配 tokens 最大长度 10^4 typedef struct { int data[MAXSIZE]; int top; // 栈顶指针-1 表示空栈 } Stack; // 初始化栈 void initStack(Stack *s) { s-top -1; } // 压栈 int push(Stack *s, int val) { if (s-top MAXSIZE - 1) return 0; s-data[s-top] val; return 1; } // 出栈结果存入 *val int pop(Stack *s, int *val) { if (s-top -1) return 0; *val s-data[s-top--]; return 1; } // 判断是否为运算符 int isOperator(char *token) { return strcmp(token, ) 0 || strcmp(token, -) 0 || strcmp(token, *) 0 || strcmp(token, /) 0; } int evalRPN(char** tokens, int tokensSize) { Stack s; initStack(s); // 初始化栈 for (int i 0; i tokensSize; i) { char *token tokens[i]; if (isOperator(token)) { // 弹出两个操作数计算 int b, a, res; pop(s, b); pop(s, a); // 按运算符计算除法向零截断 if (strcmp(token, ) 0) res a b; else if (strcmp(token, -) 0) res a - b; else if (strcmp(token, *) 0) res a * b; else res a / b; // 除法 push(s, res); } else { // 数字转整数压栈支持负数 int num atoi(token); push(s, num); } } // 栈顶即为结果 int result; pop(s, result); return result; }
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

城阳区网站建设公司百度seo软件

第一章:Docker Offload任务分配的核心概念Docker Offload 是一种优化容器资源调度的机制,旨在将特定任务从主机卸载到专用执行环境,从而提升整体系统性能与资源利用率。该机制广泛应用于边缘计算、异构硬件协同和高性能计算场景中。任务卸载的…

张小明 2025/12/23 23:19:14 网站建设

超级营销型网站模板wordpress搭建企业官网

3.1 Claude Code核心功能解析:Command与Hook自动化 在前两周的学习中,我们深入了解了Cursor的强大功能和使用方法。本周我们将转向另一个重要的AI编程工具——Claude Code。Claude Code是Anthropic公司专门为编程场景优化的AI助手,它在自动化开发方面有着独特的优势。本节课…

张小明 2025/12/24 1:55:53 网站建设

子网站怎么建设双语网站用什么程序做

Wan2.2-T2V-5B模型在JLink驱动调试可视化中的创新应用 在嵌入式系统开发中,一个看似简单的LED闪烁程序也可能隐藏着复杂的时序问题。开发者面对满屏的日志输出:“0.45s: entering sleep mode”,“1.87s: EXTI interrupt triggered”&#xff…

张小明 2025/12/24 12:41:34 网站建设

wordpress网站网速慢wordpress获取某分类下最新文章

EmotiVoice语音合成的上下文感知能力现状分析 在虚拟助手越来越频繁地参与日常对话、游戏角色需要表达复杂情绪、心理健康AI试图提供情感支持的今天,人们对“机器说话”的期待早已超越了清晰与流畅。我们希望听到的不再是冷冰冰的播报,而是一种带有温度、…

张小明 2025/12/24 22:44:17 网站建设

nginx网站301重定向怎么做郑州制作网站ihanshi

记录下解决百度网盘调试转存链接到自己网盘时,遇到的报错:errno: 200025, newno: , request_id: 1692042223153145843, show_msg: 提取码输入错误,请重试原因:是因为转存接口如果不去传sekey这个字段,直接使用cookie的…

张小明 2025/12/25 6:49:09 网站建设

网站优化方案怎么写网站建设管理与维护ppt

入侵检测系统配置全攻略 1. 入侵检测系统概述 在网络安全领域,无论你的网络防护措施多么严密,总会有意外发生。为了及时发现安全事件,入侵检测系统(IDS)和事件日志监控是两种常见的方法。 1.1 IDS的工作原理 IDS的主要功能是检测不良活动,并通常会向相关人员发送警报…

张小明 2025/12/24 22:13:41 网站建设