中缀表达式转化成后缀表达式的计算(4)

时间:2025-04-30

中缀表达式的直接计算,中缀表达式转化成后缀表达式的计算

图 3 直接计算中缀表达式

三、源代码

先将中缀表达式转化成后缀表达式,在进行后缀表达式的计算,最后将结果显示。 下面给出的是用第一种算法实现的的程序的源代码:

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

//创建存放字符的结构体

typedef struct

{

int level; char ch; //定义ch 存放操作符 //定义level 存放操作符的优先级

}OpNode;

//创建字符栈

typedef struct

{

OpNode opNode[100];

中缀表达式的直接计算,中缀表达式转化成后缀表达式的计算

int top;

int size; //存放栈顶的数 //存放当前栈的大小

}OpStack;

//对字符栈的初始化

void Op_init(OpStack *ops)

{

} ops->top = 0; ops->size = 0;

//字符栈的入栈操作

void Op_push(OpStack *ops,OpNode op)

{

} ops->size++; ops->opNode[(ops->top)++] = op;

//字符栈的出栈操作

OpNode Op_pop(OpStack *ops)

{

} if(ops->size == 0) { } ops->size--; exit(-1); //判断栈是否为空,如果为空,则退出程序,否则出栈 return ops->opNode[--(ops->top)];

//看字符栈顶操作

OpNode Op_getTop(OpStack *ops)

{

} int len = ops->size; return ops->opNode[len - 1];

//创建存放数的结构体

typedef struct

{

double d; //定义 d 存放操作数

}TdNode;

//创建数栈

typedef struct

{

TdNode tdNode[100]; int size; int top;

}TdStack;

//数栈的初始化

中缀表达式转化成后缀表达式的计算(4).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219