数据结构实验研究报告表达式实现.docxVIP

  • 8
  • 0
  • 约9.03千字
  • 约 18页
  • 2019-03-12 发布于江苏
  • 举报
个人收集整理 仅供参考学习 个人收集整理 仅供参考学习 PAGE / NUMPAGES 个人收集整理 仅供参考学习 简单介绍: 四则运算表达式包含操作数、操作符以及括号等.操作数可以是任意实数,操作符包括加( + )、减( - )、乘( * )以及除( / )等.本文将利用C++标准模板库(STL)中地堆栈和队列来编程实现计算任意实数地四则运算表达式地值. 一、数据结构设计 任何一个表达式都是由操作符,运算符和界限符组成地.我们分别用顺序栈来寄存表达式地操作数和运算符.栈是限定于紧仅在表尾进行插入或删除操作地线性表.顺序栈地存储结构是利用一组连续地存储单元依次存放自栈底到栈顶地数据元素,同时附设指针top指示栈顶元素在顺序栈中地位置,base为栈底指针,在顺序栈中,它始终指向栈底,即top=base可作为栈空地标记,每当插入新地栈顶元素时,指针top增1,删除栈顶元素时,指针top减1.b5E2RGbCAP 1、算法设计 为了实现算符优先算法.可以使用两个工作栈.一个称为OPTR,用以寄存运算符,另一个称做OPND,用以寄存操作数或运算结果.p1EanqFDPw 1.首先置操作数栈为空栈,表达式起始符”#”为运算符栈地栈底元素; 2.依次读入表达式,若是操作符即进OPND栈,若是运算符则和OPTR栈地栈顶运算符比较优先权后作相应地操作,直至整个表达式求值完毕(即OPTR栈地栈

文档评论(0)

1亿VIP精品文档

相关文档