
实现简单算术表达式的求值问题,能够进行加、减、乘、除和乘方运算。使用时算式采用后缀输入法,例如,若要计算“3+
算法分析:表达式求值是程序设计语言编译中的一个最基本的问题。它的实现方法是栈的一个典型的应用实例。在计算机中,任何一个表达式都是由操作数(operand)、运算符(operator)和界限符(delimiter)组成的。其中操作数可以是常数,也可以是变量或常量的标识符;运算符可以是算术运算符、关系运算符和逻辑运算符;界限符为左右括号和标识表达式结束的结束符。
算法分析:表达式求值是程序设计语言编译中的一个最基本的问题。它的实现方法是栈的一个典型的应用实例。在计算机中,任何一个表达式都是由操作数(operand)、运算符(operator)和界限符(delimiter)组成的。其中操作数可以是常数,也可以是变量或常量的标识符;运算符可以是算术运算符、关系运算符和逻辑运算符;界限符为左右括号和标识表达式结束的结束符。
第1题
编写一个简单的事件处理表。用户可以输入和保存一系列事件;当一个事件处理完毕后,它就会从事件处理表中删除;还可以查询事件处理表中剩余的事件。
算法的主要思路是:被处理事件的数目限定在100以内,并用宏MAXSIZE来表示。函数enter()用来输入事件,调用函数Add_Queue()将事件字符串指针保存到事件队列中;函数review()用来显示还没有处理的事件;函数delete()将处理完毕的事件从事件队列中删除,并释放事件内容的存储空间,其中删除事件调用函数Del Queue()完成。下面只介绍了循环队列实现的算法,还可以采用链队列实现。这种方法作为实验内容,请读者自己设计。将循环队列的基本操作写在头文件“seqqueue.h”中。具体算法实现如下。
第2题
线性表、栈和队列都是______结构,可以在线性表的______位置插入和删除元素,对于栈只能在______位置插入和删除元素,对于队列只能在______位置插入和______位置删除元素。
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!