c语言-数据结构-两种方式计算表达式教学文案.docVIP

  • 8
  • 0
  • 约1.51万字
  • 约 22页
  • 2020-06-20 发布于浙江
  • 举报

c语言-数据结构-两种方式计算表达式教学文案.doc

c语言-数据结构-两种方式计算表达式 精品文档 精品文档 收集于网络,如有侵权请联系管理员删除 收集于网络,如有侵权请联系管理员删除 精品文档 收集于网络,如有侵权请联系管理员删除 一、设计思想 计算表达式有两种方式,第一种是先算后缀表达式,再计算结果,第二种是直接计算中缀表达式求值,下面介绍两种方式的设计思想。 (1)先算后缀表达式,再计算结果。程序先定义了两个栈odlist和oplist,分别用作数字栈和运算符栈,并用指针*od和*op访问这两个栈,同时定义两个栈的入栈、出栈和看栈顶的函数,再定义一个判断是否是操作符的函数int is_op()、一个比较运算符优先级的函数int level()和计算两个数字运算结果的函数double re()。 主函数中定义字符型的数组inorder[100]和postorder[100]分别用于存放中缀表达式和转换后的后缀表达式,整型的inpos和postpos分别表示中缀表达式的扫描索引和后缀表达式的扫描索引。 然后进行中缀表达式转换为后缀表达式。用while循环扫描inorder[100]数组,如果是数字字符,直接将其逐个复制给postorder[postorder++],并在最后加一个空格用于和下一个数字区分;如果是运算符,此运算符优先级比op栈栈顶优先级大时直接入栈,否则将op栈栈顶取出放入postorder[postorde

文档评论(0)

1亿VIP精品文档

相关文档