新闻详情

新闻详情

首页 / 资讯中心 / 详情

数据结构笔记(C++,栈的应用代码)

发布时间:2026/9/28 4:04:46来源:尧图网络
数据结构笔记(C++,栈的应用代码)
栈的应用n的阶乘进制转换汉诺塔斐波那契回文判断跳台阶问题画二维表格)双栈实现混合四则运算表达式后缀求表达式的值应用--括号配对单栈操作1初始化一个空栈2从左到右以次读括号读到左括号则左括号入栈读到右括号若栈空则匹配失败若栈不为空取出栈顶字符3读完所有元素栈为空则配对成功栈不为空存在多余左括号匹配失败//括号配对 int match(char exp[],int n){ char stack[MaxSize];int top-1;//两句话完成栈的声明和初始化 //考试这样写节省时间 for(int i1;in;i){ if(exp[i]()stack[top](;//1、如果遇到就入栈 if(exp[i])){ if(top-1)return 0;//2、如果遇到并且栈已经空就不匹配 else --top;//3、如果栈不空就出栈完成一次括号匹配 } } if(top-1)return 1;//栈空所有括号被处理掉是匹配的 else return 0; }双栈操作做表达式求值1初始化操作数栈、符号栈2从左到右以次读表达式读到左括号则左括号入栈读到右括号弹出一个运算符两个操作数做运算知道符号栈栈顶为左括号弹出读到操作数压入操作数栈读到运算符和符号栈栈顶元素比较优先级栈顶优先级高则先运算否则入栈3读完表达式完成剩余运算//后缀式的求值 int op(int a,char op,int b){//本函数是运算函数完成a op b 的运算 if(op)return ab; if(op-)return a-b; if(op*)return a*b; if(op/){ if(b0){ coutERRORendl;//这里需要判断除数为0是错误的 return 0; } else{ return a/b; } } } int com(char exp[]){//本函数是后缀式计算函数 int a,b,c; int stack[MaxSize];int top-1; char op; for(int i-0;exp[i]!\0;i){ if(exp[i]0exp[i]9)stack[top]exp[i]-0;//字符型和整形的转换 else{ opexp[i]; bstack[top--]; astack[top--]; cop(a,op,b); stack[top]c; } } return stack[top]; }链栈操作用不带头节点的单链表存储栈//用不带头节点的单链表存储栈 void InitStackl(LNode *lst){//初始化栈 lstNULL;//不带头节点带的话时lst-nextNULL } int isEmptyl(LNode *lst){//判断栈是否为空 if(lstNULL)return 1; else return 0; } void Pushl(LNode *lst,int x){//进栈 LNode *p; p(LNode *)malloc(sizeof(LNode)); p-nextNULL; p-datax; /*下面是插入操作*/ p-nextlst; lstp; } void Popl(LNode *lst,int x){//出栈 LNode *p; if(lstNULL)return 0; plst; /*删除节点的操作*/ xp-data; lstp-next; free(p); return 1; }
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

ESP8266烧录AT固件总失败?排查这5类问题就够了 2026/9/28 6:02:29

ESP8266烧录AT固件总失败?排查这5类问题就够了

1. 烧录失败这件事,先别急着怀疑模块坏了ESP8266这颗芯片,玩物联网的、做智能家居的、搞串口透传的基本都绕不开。价格便宜、资料多、社区活跃,但真正上手第一关往往不是写代码,而是烧录AT固件。我见过太多人,模块刚到…

阅读更多 →
微信小程序养老服务平台:源码部署与实战讲解指南 2026/9/28 6:02:29

微信小程序养老服务平台:源码部署与实战讲解指南

从拿到这个项目标题到真正动手去做,中间其实隔着不少东西。市面上打着“微信小程序养老服务平台源码部署文档讲解”旗号的项目不少,但真正能落地、能跑通、能扛住老年用户场景的并不多。我最近完整梳理了一遍这类项目的交付内容和实施路径,把…

阅读更多 →
Tomcat生产环境部署全攻略:从JDK安装到JVM调优与排错 2026/9/28 6:02:29

Tomcat生产环境部署全攻略:从JDK安装到JVM调优与排错

部署Tomcat这事儿,说难不难,说简单也有一堆坑等着你。从下载解压到跑起来一个能用的Web服务,中间隔着JDK版本匹配、端口配置、JVM参数、自启动脚本、日志切割、前后端分离路由……任何一个环节偷懒,后面上线都可能给你颜色看。这篇…

阅读更多 →
电商GIF主图压缩实战:工具选择、参数调优与避坑指南 2026/9/28 6:02:29

电商GIF主图压缩实战:工具选择、参数调优与避坑指南

做电商的同行应该有同感,GIF主图这个事儿,看着简单,真正做起来是真麻烦。平台后台对主图体积有硬性限制,动辄几十MB的原始GIF根本传不上去;就算勉强传上去,首页加载慢、卡顿,买家没等图转完就划…

阅读更多 →
Java中学排课管理系统源码:课程设计、存储过程与前后端分离实战 2026/9/28 6:02:29

Java中学排课管理系统源码:课程设计、存储过程与前后端分离实战

简介:这是一份用于中学排课场景的JAVA源码工程,也是数据库课程设计常用的完整参考项目,适合正在做排课管理系统课设或需要学习数据库存储过程、参照完整性约束的同学。项目采用前后端分离结构,后端以JAVA为核心处理班级、课程、学…

阅读更多 →
Codex CLI 频繁 Reconnecting 怎么排查?先分清 WebSocket、SSE 与配置边界 2026/9/28 6:02:22

Codex CLI 频繁 Reconnecting 怎么排查?先分清 WebSocket、SSE 与配置边界

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉