美文网首页
C语言的基于栈实现的表达式求值

C语言的基于栈实现的表达式求值

作者: 奔跑骚年 | 来源:发表于2018-12-27 08:58 被阅读0次

一、目的

理解中缀表达式求值的过程

理解中缀转后缀表达式求值的过程

掌握堆栈的应用

二、问题描述

缀表达式,其中包含括号,加减乘除,乘方等运算,利用中缀表达式,对表达式分析并求值

入的中缀表达式转换为后缀形式,显示后缀形式,并通过后缀形式求值

三、数据结构

//运算符结构体

typedef struct

{

char OPname; //存储运算符

int inOP; //存储栈内级别

int outOP; //存储栈外级别

}OP;

//定义运算数栈

typedef struct

{

datatype data[MAXSIZE];

int top;

}SeqStack;

//定义运算符栈

typedef struct

{

char data[MAXSIZE];

int top;

}charStack;

//----------------定义运算符数组-----------------//

OP OPPree[OPNUM] =

{

{'+',3,2},

{'-',3,2},

{'*',5,4},

{'/',5,4},

{'^',7,6},

{'(',1,8},

{')',0,1},

{'#',-1,-1}

};

四、算法设计的思想描述

建立两个栈,一个为char类型栈OPTR,另一个为int类型栈OPND,分别来存储运算符和运算数。

参考文档和完整的文档和源码下载地址:

https://www.write-bug.com/article/1409.html

相关文章

  • C语言的基于栈实现的表达式求值

    一、目的 理解中缀表达式求值的过程 理解中缀转后缀表达式求值的过程 掌握堆栈的应用 二、问题描述 缀表达式,其中包...

  • C语言的基于栈实现的表达式求值

    一、目的 理解中缀表达式求值的过程 理解中缀转后缀表达式求值的过程 掌握堆栈的应用 二、问题描述 缀表达式,其中包...

  • 数据结构-其他线性结构(栈和队列)

    大纲:*掌握栈的定义、栈的存贮结构及基本操作的实现。理解用栈实现表达式的求值,递归过程及实现。掌握队列的定义、存贮...

  • Tourist with Data Structure Fift

    设计循环列表 岛屿的数量 最小栈 有效的括号 每日温度 逆波兰表达式求值 克隆图 目标和 用栈实现队列 用栈实现队...

  • 【C语言实现】表达式求值(顺序栈的应用)

    简书内代码已上传GitHub:点击我 去GitHub查看代码这里用到的顺序栈代码可以点击 : 顺序栈 查看 首先先...

  • 数据结构 第5节 栈 Stack

    一、静态栈:数组实现 二、动态栈:链表实现 三、应用: 生产者消费者 函数调用 中断 算术表达式求值 内存分配 缓...

  • Aviator——轻量级Java表达式解析工具

    一. 概述 Aviator是一个高性能、轻量级的java语言实现的表达式求值引擎,主要用于各种表达式的动态求值。 ...

  • 4 : 栈

    1:什么是栈 2:栈的存在意义 3:如何实现一个“栈”? 4:复杂度 5:栈在函数调用中的应用 6:栈在表达式求值...

  • C++语言实现顺序栈

    C++语言实现顺序栈 在写C语言实现顺序栈的时候,我已经向大家介绍了>栈的特点以及介绍了栈的相关操作,并利用C语言...

  • 表达式求值引擎Avitor的使用

    1.简介 Aviator是一个高性能、轻量级的java语言实现的表达式求值引擎,主要用于各种表达式的动态求值。 2...

网友评论

      本文标题:C语言的基于栈实现的表达式求值

      本文链接:https://www.haomeiwen.com/subject/ciillqtx.html