- 10
- 0
- 约1.5万字
- 约 27页
- 2018-11-30 发布于江苏
- 举报
数据结构课设(表达式求解)
课题名称:表达式求解
班级:0008202
学号:150830114
姓名:陈鹏
指导教师:高航
本程序使用栈的数据结构,定义了两个栈OPTR和OPND,分别存储操作符和运算符。先读取一个以#号结束的表达式,存储在一个字符型数组中。首先通过判断函数judge判断该表达式的合法性,如果不合法,则重新输入,然后调用函数EvaluateExpression(char n[]),进行运算。
主要的函数EvaluateExpression(char n[])是根据运算符优先法来实行的。首先判断数组的第一个字符是不是‘#’,如果是,则元素表达式读取完毕,程序也运行结束。如果不是,则进行一下操作。判断数组中的元素是运算数还是运算符,运算数通过函数atoi(char n[])取出,进入OPND栈。然后将后面的部分向前移。如果是运算符,则将该运算符和OPTR栈栈顶元素的优先级进行比较。如果该运算符优先级大于OPTR栈顶元素,则运算符进栈。将后面的部分往前移。如果该运算符优先级等于OPTR栈顶元素,则栈顶元素出栈,将该运算符后面的部分前移。如果该运算符优先级小于OPTR栈顶元素,则栈顶元素与OPND栈顶元素与第二个元素出栈,两运算数进行与栈顶元素相对应的运算,再将运算结果进OPND栈。如果该运算符优先级仍低于OPTR栈栈顶元素或两者优先级相等,则重复上述过程,直至该运算符优先级高于栈顶元素。
程序设计
您可能关注的文档
最近下载
- 山东省公路水运工程工地试验室标准化建设与管理指南(OCR).docx VIP
- 第四编-10_隋唐五代文学.ppt VIP
- 2023年中山市陈星海医院护士招聘笔试高频试题摘选含答案解析.docx VIP
- 2023年中山市陈星海医院护士招聘笔试高频试题摘选含答案解析.docx VIP
- 上海市建平中学2025-2026学年高一上学期期中考试化学试卷.docx VIP
- 2023年中山市陈星海医院护士招聘笔试高频试题摘选含答案解析.docx VIP
- 上海市建设工程施工工期定额(建筑、市政、城市轨道交通工程)#项目工程综合类#.pdf VIP
- 2026年高考全国二卷语文试题真题及答案详解(精校打印).pdf VIP
- OsAP79基因诱导水稻抗褐飞虱的应用.pdf VIP
- 2026年上海市中考英语试卷(含答案).docx VIP
原创力文档

文档评论(0)