早教吧作业答案频道 -->数学-->
A-B*(C-D)的栈深怎么算?答案是4,但是我不会算,求解利用栈求表达式的值时,设立运算数栈OPEN.假设OPEN只有两个存储单元,则在下列表达式中,不会发生溢出的是()以上表达式是其中的A选项
题目详情
A-B*(C-D)的栈深怎么算?答案是4,但是我不会算,求解
利用栈求表达式的值时,设立运算数栈OPEN.假设OPEN 只有两个存储单元,则在下列表达式中,
不会发生溢出的是()以上表达式是其中的A选项
利用栈求表达式的值时,设立运算数栈OPEN.假设OPEN 只有两个存储单元,则在下列表达式中,
不会发生溢出的是()以上表达式是其中的A选项
▼优质解答
答案和解析
运算符栈和数据栈共同实现:
从左至右扫描表达式,遇到操作数就放入数据栈,遇到运算符,需要进行比较,如果比栈顶运算符优先级低,就弹栈,并从数据栈弹出两个数据,运算后再作为数据压入数据栈,否则压栈.遇到左括号,直接压栈,遇到右括号,弹栈进行运算,直到弹出的运算符是左括号.最后扫描完了,不断弹栈,直到为空栈.
因此,如上A-B*(C-D),
数据栈(DS)和运算符栈(OS)如下过程:
DS OS
1:A -
2:B *
A -
3:B (
A *
-
4:C -
B (
A *
-
5:D -
C (
B *
A -
6:此时遇到右括号,弹栈,以下C-D的值表示为E
E (
B *
A -
7:
E *
B -
A
然后弹栈计算F = B*E
再计算A-F
从上面过程可以看出,运算符的栈,最深为4.
从左至右扫描表达式,遇到操作数就放入数据栈,遇到运算符,需要进行比较,如果比栈顶运算符优先级低,就弹栈,并从数据栈弹出两个数据,运算后再作为数据压入数据栈,否则压栈.遇到左括号,直接压栈,遇到右括号,弹栈进行运算,直到弹出的运算符是左括号.最后扫描完了,不断弹栈,直到为空栈.
因此,如上A-B*(C-D),
数据栈(DS)和运算符栈(OS)如下过程:
DS OS
1:A -
2:B *
A -
3:B (
A *
-
4:C -
B (
A *
-
5:D -
C (
B *
A -
6:此时遇到右括号,弹栈,以下C-D的值表示为E
E (
B *
A -
7:
E *
B -
A
然后弹栈计算F = B*E
再计算A-F
从上面过程可以看出,运算符的栈,最深为4.
看了 A-B*(C-D)的栈深怎么...的网友还看了以下:
以下( )不是栈的基本运算。A)删除栈顶元素 B)删除栈底元素 C)判断栈是否为空 D)将栈置 2020-05-23 …
以下哪一个不是栈的基本运算?A.删除栈顶元素B.删除栈底元素C.判断栈是否为空D.将栈置为空栈 2020-05-23 …
以下哪一个不是栈的基本运算______?A.删除栈顶元素B.删除栈底元素C.判断栈是否为空D.将栈置 2020-05-23 …
以下哪一个不是栈的基本运算?()A.删除栈顶元素B.删除栈底元素C.判断栈是否为空D.将栈置为空栈 2020-05-24 …
在堆栈操作中,保持不变的是(57)。A.堆栈指针B.堆栈中的数据C.堆栈的顶D.堆栈的底 2020-05-26 …
在堆栈操作中, (15)保持不变。A.堆栈的顶B.堆栈的底C.堆栈指针D.堆栈中的数据 2020-05-26 …
根据下列选项,请回答下列各题: A.D值 B.Z值 C.F值 D.F0值 E.丁值 在一定温度下杀死 2020-06-07 …
A-B*(C-D)的栈深怎么算?答案是4,但是我不会算,求解利用栈求表达式的值时,设立运算数栈OP 2020-06-28 …
下列关于栈叙述正确的是()A、栈顶元素最先能被删除B、栈底元素最后才能被删除C、栈底元素永远不能被 2020-06-28 …
为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的设在内A. 2020-07-10 …