文件名称:表达式计算数据结构C语言
文件大小:4KB
文件格式:C
更新时间:2012-12-03 05:27:21
表达式计算 数据结构 C语言
种算法就是算符优先算法,它通过使用两个栈来实现,一个用于暂存操作数,另一个用于暂存操作符。此算法的基本思路是: (1) 初始化操作数栈、操作符栈,并将数字0压入操作数栈,’=’压入操作数栈作为栈底元素。 (2) 从左到右扫描表达式,顺次取出各字符;若当前所取字符为’\n’,且栈顶元素为’=’,则输出操作数战中的栈顶数据,结束处理;否则进行下面处理。 (3) 若为操作数,入操作数栈;若为操作符,则要将当前操作符和操作符栈中的栈顶元素的优先级进行比较。如果; ①当前操作符的优先级大于栈顶元素的优先级,则将当前操作符压入操作符栈中,转第(2)步; ②当前操作符的优先级等于栈顶元素的优先级,则将当前操作符栈的栈顶元素出栈,转第(2)步; ③当前操作符的优先级小于栈顶元素的优先级,则将当前操作符栈顶的操作符出栈,接着从操作数栈中顺次出栈两个操作数,用刚出栈的操作符对两个操作数进行连接,并计算其值,将所求的值压入操作数栈中,转第(3)步;