栈的应用-算术表达式求值
时间: 2023-11-07 09:02:16 浏览: 149
栈的应用----算术表达式求值程序
根据提供的引用内容,算术表达式求值可以使用栈的应用来实现。具体算法思路如下:首先建立两个栈,一个操作数栈Oper,一个运算符栈Optr。遍历算术表达式字符串,读取的是数则将值压入操作数栈Oper中,读取的是运算符则将其与栈顶运算符Optr中的运算符优先级进行比较。如果栈顶运算符优先级低,则将读取的运算符直接压入运算符栈Optr中,然后读取下一个字符。如果栈顶运算符优先级高,则进行“计算操作”。操作数栈Oper中出栈两个数,假设先出的为a,后出的为b,运算符栈Optr中出栈一个运算符op,进行b op a的计算,然后将计算结果再压入操作数栈Oper中,一直进行“计算操作”,直到运算符栈Optr的栈顶运算符优先级比所读取的运算符优先级低。然后将读取的运算符压入运算符栈Optr中,读取下一个字符。读取完最后一个字符后,如果运算符栈Optr不为空,则进行“计算操作”,一直到运算符栈Optr为空。最后操作数栈Oper的栈顶数值即为最终所求的结果。
阅读全文