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

张小明 2026/3/2 16:28:02
夸克网站免费进入,龙岩网站建设方案优化,羽毛球最新赛事,模块化局域网网站建设软件做题目的前提#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进行投诉反馈,一经查实,立即删除!

东莞 网站制作昆明百度关键词优化

很多自动化设备工程师在选HG系列重负荷滑轨时,都会纠结预压等级怎么选才合适——选松了怕刚性不够,选紧了又担心影响寿命。作为直线导轨生产厂家的专业合作经销商,深圳市海威机电有限公司(HIWIN授权经销商)的技术团队经…

张小明 2025/12/30 6:44:23 网站建设

泉州网站建设学徒招聘用dw做销售网站

.NET程序员的20G文件上传历险记 大家好,我是甘肃的一名苦逼.NET程序员,最近接了个外包项目,客户的需求简直是要我老命啊!来给大家扒一扒这个"价值连城"的项目需求: 项目需求:地狱级难度 大文件…

张小明 2025/12/31 4:56:34 网站建设

可信网站认证网络公司经营范围大全

系统管理脚本:磁盘与文件定位的实用工具 在系统管理的日常工作中,磁盘空间管理和文件定位是常见且重要的任务。本文将介绍几个实用的脚本,帮助你更高效地完成这些任务。 1. 报告磁盘占用大户 在管理磁盘配额时,及时发现并通知占用过多磁盘空间的用户是很有必要的。下面的…

张小明 2026/1/1 20:52:03 网站建设

网站开发与设计实训心得昆山城市建设网站

LobeChat视频教程制作计划:图文不如动图直观 在今天这个AI应用遍地开花的时代,大语言模型的能力已经不再是稀缺资源——真正稀缺的是如何让人轻松用起来。我们见过太多功能强大的开源项目,最终却因“安装三小时、使用五分钟”的复杂流程被束之…

张小明 2026/1/10 2:59:46 网站建设

网站备案更改吗活动软文模板

在工业设计和机械工程领域,SolidWorks、UG(现称Siemens NX)和CATIA等三维设计软件的协同作业已成为提升研发效率的关键。要将SolidWorks、UG、CATIA等三维设计软件共享给多名研发人员并发画图,需从硬件配置、软件部署、资源调度、…

张小明 2026/1/1 21:03:16 网站建设

诸城哪有做公司网站的保定网站建设团队

导语 【免费下载链接】VibeVoice-Large-Q8 项目地址: https://ai.gitcode.com/hf_mirrors/FabioSarracino/VibeVoice-Large-Q8 还在为专业级语音合成模型需要16GB以上显存而苦恼?VibeVoice-Large-Q8通过选择性8bit量化技术,在仅需11.6GB显存的条…

张小明 2025/12/24 19:05:21 网站建设