当前位置: 首页 > wzjs >正文

装修接单网seo关键词排名优化价格

装修接单网,seo关键词排名优化价格,沈阳网站设计开发,那个网站有免费模板一、核心问题:表达式求值的难点 对于像 3*(7-2)# 这样的表达式,直接计算会面临 “运算顺序” 的问题: 先算括号里的 7-2,还是先算乘法?如何处理运算符的优先级(乘除高于加减)?如何匹…

一、核心问题:表达式求值的难点

对于像 3*(7-2)# 这样的表达式,直接计算会面临 “运算顺序” 的问题:

  • 先算括号里的 7-2,还是先算乘法?
  • 如何处理运算符的优先级(乘除高于加减)?
  • 如何匹配括号(括号内的要优先计算)?

栈的作用就是 “管理运算顺序”

  • 用两个栈:
    • OPND 栈:存操作数(如 372 )和中间结果(如 515 )。
    • OPTR 栈:存运算符(如 *(- )和边界符(如 # )。
  • 通过 “比较运算符优先级”,决定是 “压栈等待” 还是 “弹出计算”。

二、关键规则:算符优先关系表

 

这张表是 “指挥中心”,决定运算符的优先级:

  • 表格里的 θ₁ 是 栈顶运算符θ₂ 是 当前扫描到的运算符
  • 比较结果:
    • <:当前运算符优先级更高 → 压入 OPTR 栈,等待后续计算。
    • >:栈顶运算符优先级更高 → 弹出栈顶运算符,从 OPND 取数计算。
    • =:括号匹配(如 ( 和 ) 相遇),弹出栈顶的 (,继续扫描。

举个简单例子:

  • 栈顶是 +θ₁),当前运算符是 *θ₂):查表格,+ 和 * 的交叉是 < → * 优先级更高,* 压栈。
  • 栈顶是 *θ₁),当前运算符是 +θ₂):查表格,* 和 + 的交叉是 > → * 优先级更高,先弹出 * 计算。

三、算法步骤(结合图片里的流程)

以 3*(7-2)# 为例,完整走一遍流程:

1. 初始化
  • OPTR 栈压入 #(作为表达式的 “起始边界符”)。
  • OPND 栈为空。
  • 扫描指针指向表达式第一个字符 '3'
2. 循环处理(直到扫描到 # 且栈顶也是 #

核心逻辑

  • 遇到 操作数(如 372 )→ 压入 OPND 栈。
  • 遇到 运算符(如 *(- )→ 查 “优先关系表”,决定是 “压栈” 还是 “计算”。

逐步演示

步骤扫描字符 ch操作说明
1'3'压入 OPND 栈OPND: [3]OPTR: [#]
2'*'比较 OPTR 栈顶 # 和 * → <* 压入 OPTR 栈 → OPTR: [#, *]
3'('比较 OPTR 栈顶 * 和 ( → <( 压入 OPTR 栈 → OPTR: [#, *, (]
4'7'压入 OPND 栈OPND: [3, 7]
5'-'比较 OPTR 栈顶 ( 和 - → <- 压入 OPTR 栈 → OPTR: [#, *, (, -]
6'2'压入 OPND 栈OPND: [3, 7, 2]
7')'比较 OPTR 栈顶 - 和 ) → >弹出 -,计算 7-2=5,结果压入 OPND → OPND: [3, 5];然后比较栈顶 ( 和 ) → =,弹出 (
8'#'比较 OPTR 栈顶 * 和 # → >弹出 *,计算 3*5=15,结果压入 OPND → OPND: [15]
9'#'扫描结束,返回 OPND 栈顶结果 15
3. 终止条件

当扫描到 #,且 OPTR 栈顶也是 # 时,循环结束,OPND 栈顶就是最终结果。

四、代码逻辑解析(结合图片里的函数)

以下是核心函数的逻辑拆解(对应图片里的 EvaluateExpression 函数):

1. 初始化栈
InitStack(OPTR); Push(OPTR, '#'); // OPTR 栈初始化,压入 #
InitStack(OPND); ch = getchar();  // OPND 栈初始化,读第一个字符
2. 循环处理表达式
while (ch != '#' || GetTop(OPTR) != '#') { // 没扫描完或栈顶不是 #if (!In(ch)) { // ch 不是运算符 → 压入 OPNDPush(OPND, ch); ch = getchar(); } else { // ch 是运算符 → 比较优先级switch (Precede(GetTop(OPTR), ch)) { case '<': // 当前运算符优先级高 → 压栈Push(OPTR, ch); ch = getchar(); break;case '>': // 栈顶运算符优先级高 → 弹出计算Pop(OPTR, theta); // 弹出运算符Pop(OPND, b); Pop(OPND, a); // 弹出两个操作数Push(OPND, Operate(a, theta, b)); // 计算后压入结果break;case '=': // 括号匹配 → 弹出 (,继续扫描Pop(OPTR, x); ch = getchar(); break;}}
}
3. 返回结果
return GetTop(OPND); // OPND 栈顶就是结果

五、关键函数说明

  1. In(ch):判断 ch 是否是运算符(+-*/()# )。
  2. Precede(θ₁, θ₂):查 “优先关系表”,返回 <> 或 =
  3. Operate(a, theta, b):执行运算(如 a + ba * b ),注意顺序(a 是栈底的数,b 是栈顶的数,比如 7-2 中 a=7b=2 )。

六、总结

栈在表达式求值中的核心作用是 “管理运算顺序”

  • 用 OPTR 栈 “暂缓” 低优先级的运算符,保证高优先级的先计算。
  • 用 OPND 栈存操作数和中间结果,随时弹出参与计算。
  • 整个过程靠 “算符优先关系表” 指挥,实现自动遵循 “先乘除后加减、先括号内后括号外” 的规则。

文章转载自:

http://da0RcyKo.tLfmr.cn
http://NRDI9RRH.tLfmr.cn
http://4yXNDRsI.tLfmr.cn
http://ReaxC6cL.tLfmr.cn
http://KBJtlwa6.tLfmr.cn
http://sB7Tabz8.tLfmr.cn
http://U70RsTMe.tLfmr.cn
http://5d667ipt.tLfmr.cn
http://vIcRagPY.tLfmr.cn
http://OLZWGMEw.tLfmr.cn
http://YuWmNpbZ.tLfmr.cn
http://8sLhqtYj.tLfmr.cn
http://qRgbWkci.tLfmr.cn
http://jmiMlORp.tLfmr.cn
http://EGxBOFHY.tLfmr.cn
http://MduxJQZc.tLfmr.cn
http://Bnd8wbSd.tLfmr.cn
http://SEULXLVy.tLfmr.cn
http://sMp7Xfsv.tLfmr.cn
http://wmQ7ksNz.tLfmr.cn
http://xlRO4HGw.tLfmr.cn
http://UmkWRZu9.tLfmr.cn
http://xULsIxep.tLfmr.cn
http://KCFwUHqY.tLfmr.cn
http://NtTiLwGh.tLfmr.cn
http://4uhKMi5p.tLfmr.cn
http://4gx9yXtY.tLfmr.cn
http://AXKr0Z2o.tLfmr.cn
http://ss3R6QDh.tLfmr.cn
http://Nt0KPgRe.tLfmr.cn
http://www.dtcms.com/wzjs/721940.html

相关文章:

  • 珠海学网站开发wordpress 制作widget
  • 建立网站的步骤做拍卖的网站有哪些
  • 海宁营销型网站建设价格多备份 wordpress
  • 有没有专业做淘宝网站吗如何做好一个外贸网站的编辑
  • 哪个做砍价活动的网站好saas系统多少钱
  • 做seo要明白网站内容广州有哪些知名企业
  • 宁波网站建设在哪里浙江省住房和城乡建设厅网站
  • 营销型网站建设技术指标wordpress 幻灯片主题
  • 做一个网站的费用辉县市建设局网站
  • 教做网站的学校品牌网站品牌理念老旧的后果
  • 网站开发找哪家asp模版网站如何做优化
  • 桃源网站建设wordpress最新文章
  • 山东省无障碍网站建设标准建设部网站查询公司
  • h5自助建站系统上海网站制作案例
  • 济南网站制作推广wordpress 过滤插件下载
  • 做公益网站的说明私域商城平台
  • 环保局网站建设 自查报告Wordpress静态文件服务器
  • 山东网站建设企业公司网络推广员是干嘛的
  • 网站所有权网站设计全包
  • 网站建设教程高清视频湖南平台网站建设哪里好
  • 手机上怎么做自己卖菜的网站wordpress注册码插件
  • 泰安网站建设哪家快天猫店买卖网站
  • 一流的邯郸网站建设网站框架文案
  • 手机网站大全下载店铺引流推广方案
  • wordpress本地网站怎么搬到服务器wordpress已停止访问
  • 网站怎么拿百度收入电商运营多少钱一个月
  • 中国建设网官方网站下载e路最新版建设银行网站连不上
  • 宣汉网站建设wordpress无法连接ftp
  • 做美食网站的图片素材山西省建设工程招投标监督网站
  • 从零开始做电影网站浙江省住房城乡建设厅网站首页