对字符串数组的算术运算

时间:2015-08-02 13:27:08

标签: arrays string math

在文本框中输入表达式(例如,2 + 3-7)。 使用某些函数,Split I将表达式分为两种类型String数组,其中数字存储在第一个和第二个算术符号中。 a = {“2”,“3”,“7”} b = {“+”,“ - ”} 如何计算这个表达式?

1 个答案:

答案 0 :(得分:0)

中缀表示法:操作符写在它们操作的操作数之间,例如: 3 + 4。

由于决定优先级所需的附加工作,因此计算机难以评估中缀表达式。中缀表示法是人类如何编写和识别表达式,通常是程序的输入。鉴于它们更难评估,它们通常被转换为剩下的两种形式之一。用于将中缀符号转换为后缀符号的众所周知的算法是Edgar Dijkstra的Shunting Yard Algorithm。此算法将Infix表达式作为输入,并生成一个将此表达式转换为后缀表示法的队列。可以修改相同的算法,以便输出表达式的评估结果而不是队列。 Trick使用两个堆栈而不是一个堆栈,一个用于操作数,一个用于操作符。

enter image description here

有关完整代码,请参阅 - http://www.geeksforgeeks.org/expression-evaluation/