Advertisement

四则运算表达式求值基于栈实现

阅读量:

设计一个程序,要求用户从键盘输入算术表达式,并计算并输出其结果。该表达式可以包含加法、减法、乘法、除法运算,以及十进制整数和小括号,采用栈结构实现。

首先需要对两个栈的基本操作进行定义,包括创建、插入和删除等过程。
其中数据栈用于存储数值信息;操作符栈则用于保存运算符号。

复制代码
    #include <stdio.h>
    #include <stdlib.h> 
    typedef int ElemType;
    #define STACK_INIT_SIZE 100
    #define STACKINCREMENT 10
    typedef struct //定义数据栈(存放数据) 
    { ElemType *base;
      ElemType *top;
      int stacksize;
     }SqStack; 
     typedef struct //定义操作符栈 
     { char *base;
       char *top;
       int stacksize;
     }OpStack;
    int InitStack(SqStack &s) //初始化数据栈 
    {	s.base=(ElemType *)malloc(STACK_INIT_SIZE*sizeof(ElemTy

全部评论 (0)

还没有任何评论哟~