gpt4 book ai didi

c++ - 用于匹配分组符号的适当数据结构?

转载 作者:行者123 更新时间:2023-11-30 03:53:21 24 4
gpt4 key购买 nike

我应该编写一个将算术表达式作为输入的程序。程序输出表达式是否包含匹配的分组符号,如果平衡则计算表达式结果。

例如,算术表达式 {25 + (3 – 6) * 8} 是平衡的,其结果等于 1

7 + 8 * 2 是平衡的,其结果等于 23

但是,表达式 5 + {(13 + 7)/8 - 2 * 9 不包含匹配的分组符号,因此我们不会计算其结果。

什么是最好的数据结构(链表、堆栈等)?

最佳答案

使用堆栈。最后打开的括号应该最先关闭。

表达式从左到右开始。

继续将左括号压入堆栈。

当找到一个右括号时,检查它是否等于栈顶(最后打开的应该先关闭),如果是,则将其弹出。如果不是,则表达式不平衡。

如果最后堆栈为空,则表达式是平衡的。

关于c++ - 用于匹配分组符号的适当数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30146655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com