手机版

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

时间:2025-07-08   来源:未知    
字号:

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

图 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文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)