# include <stdio.h>
# include <stdlib.h>
# include <ctype.h>
# include <string.h>
typedef struct Node //中缀转后缀表达式使用的结点
{
char str;
struct Node * pNext;
}NODE,* PNODE;
typedef struct iNode //后缀表达式使用的结点
{
double val;
struct iNode * pNext;
}INODE,* PINODE;
typedef struct stack //中缀转后缀表达式使用的栈
{
PNODE pBase;
PNODE pTop;
}STACK,* PSTACK;
typedef struct istack //后缀表达式使用的栈
{
PINODE pBase;
PINODE pTop;
}ISTACK,* PISTACK;
//以下为中缀转后缀表达式使用的函数
void init(PSTACK);
void push(PSTACK,char);
bool pop(PSTACK,char *);
bool empty(PSTACK);
void traverse(PSTACK);
//以下为后缀表达式使用的函数
void initi(PSTACK);
void pushi(PSTACK,double);
bool popi(PSTACK,double *);
bool emptyi(PSTACK);
void traversei(PSTACK);
char * midtolast(); //读入中缀表达式转后缀表达式使用的函数
void result(char*); //用后缀表达式计算结果
int main()
{
char * pstr;
pstr= midtolast();
strcat(pstr,"#");
result(pstr);
return 0;
}
void init(PSTACK pStack)
{
pStack->pBase=
数据结构之简单表达式计算器(读入中缀转后缀,通过后缀计算结果)
最新推荐文章于 2020-09-27 20:24:12 发布