数据结构 实验报告03

一、实验目的和要求

设计并实现一个整型算术表达式计算器。

要求:

1. 要求计算方法根据PPT例题求解方法进行。

2. 只处理整型算术运算表达式,即运算符至少包含+-*/()。

3. 其中,要求抽象出栈结构进行独立实现。

4. 其它要求同作业-01要求。

 

二、实验环境

编译器:Vscode  

系统:Windows10

CPU:[email protected]

三、实验内容

设计并实现一个整型算术表达式计算器。 

四、实验过程

4.1 任务定义和问题分析

        利用栈来实现简单的四则运算表达式(包括括号)

       

        问题分析:
        需要一个操作完备的栈,包括 入栈 出栈 判空 判满 返回栈顶元素等等

        如何处理不同运算符 尤其是括号带来的复杂计算

        由于数字要用int类型的栈,运算符(如果不映射的话)要用字符类型的栈  所以最优选择是使用模板类来实现栈

        如何区别各个运算符之间的优先级 并作出处理

 

        进阶处理要求

        是否能处理(1)这种无实际意义的括号

        是否能处理-1这种单目运算符

        是否能处理(-1)这种运算

 

()必须是英文状态下的 否则会有错误

4.2 数据结构的选择和概要设计

        使用模板类来实现栈的入栈、出栈、判空、判满、返回栈顶元素等等

        利用函数进行对运算符优先级的比较操作(需要用到迭代)

        模板类的存储结构选择动态数组

        在写代码的过程中可以选择逐步处理各种情况 不断更新需求 进行完善(极有可能会推翻)

        概要分析设计:

        1.将运算符和数字分开处理(数字在入栈的时候不需要考虑什么 运算符入栈时需要和栈顶运算符比较----->)

        2.优先级高低情况处理用if判断分情况处理

4.3 详细设计

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值