摘要: ###具体步骤 初始化两个栈:运算符栈s1和储存中间结果的栈s2 在实际过程中,s2没有涉及到出栈操作,所以可以直接使用list代替(这样方便逆序); 从左到又扫描中缀表达式; 遇到操作数时,将其压如s2; 遇到运算符时,比较其与s1栈顶运算符的优先级: 4.1. 如果s1为空,或栈顶运算符为左括号 阅读全文
posted @ 2020-10-11 19:18 刘指导 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 要求: 输入一个逆波兰表达式(后缀表达式),使用栈计算结果 这里简化,这对整数进行计算 思路分析 例如:(3+4)x5-6 对应的后缀表达式就是3 4 + 5 x 6 -,针对后缀表达式求值步骤如下: 从左至右扫描,将3和4压入栈中; 遇到+运算符,因此弹出4和3(4为栈顶元素,3为次顶元素),计算 阅读全文
posted @ 2020-10-11 16:22 刘指导 阅读(836) 评论(0) 推荐(1) 编辑
摘要: 栈的介绍 栈的英文为stack,是一种先入后出的有序列表 栈是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表.允许插入和删除的一端,为变化的一端,称为栈顶(top),另一端为固定的一端,称为栈底(Bottom). 根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶, 阅读全文
posted @ 2020-10-11 15:33 刘指导 阅读(82) 评论(0) 推荐(0) 编辑