中缀表达式换成后缀表达式

原创 2005年05月23日 23:55:00

//只能转换单个数字

#include<stdio.h>
#include<ctype.h>
#include<stdlib.h>
int lookahead;


void error()
{
 printf("syntax error/n");
 exit(1);
}

void match(int c)
{
 if(lookahead==c)
  lookahead=getchar();
 else error();
}

void texm()
{
 if(isdigit(lookahead) )
 {
  putchar(lookahead);
  match(lookahead);
 }
 else error();
}
void rest()
{
 if(lookahead=='+')
 {
  match('+');texm();putchar('+');rest();
 }
 else if(lookahead=='-')
 {
  match('-');texm();putchar('-');rest();
 }
 else exit(1);
}


void expr()
{
 texm();
 rest();
}

int main()
{
 lookahead=getchar();
 expr();
 return 0;
}

后缀表达式(4)-——中缀表达式到后缀表达式的转换,递归实现

本篇是介绍的是后缀表达式最难,也是最基本的一个问题。即如何将一个中缀表达式转化为后缀表达式。在网上可以找到许多非递归实现的示例代码,它们比本节介绍的代码要简洁且高效,可是不利于理解。本节舍近求远,介绍...
  • hedan2013
  • hedan2013
  • 2016年10月16日 22:46
  • 579

中缀表达式转换成后缀表达式并求值(C++栈的应用)

/*  * biao.cpp  *  *  Created on: 2011-11-25  *      Author: allenjin  */  #include #includ...
  • hezikui1987
  • hezikui1987
  • 2013年08月17日 16:01
  • 1155

《数据结构和算法》之中缀表达式、后缀表达式转换

一,在上篇博文中讨论了逆波兰表达式的计算问题,在这里讨论一下中缀表达式如何转换为后缀表达式        问题示例:如何将1+(2-3)*4+10/5 转换为后缀表达式 1 2 3 - 4 * + ...
  • huangchijun11
  • huangchijun11
  • 2017年03月09日 17:44
  • 2427

中缀表达式转后缀表达式并进行计算 原理

在计算一个表达式的时候,可以用数据结构中栈的知识,将我们平常熟悉的中缀表达式转为后缀表达式,再将后缀表达式进行计算得到结果。先说下什么是中缀什么是后缀: 中缀表达式:eg: 9+(3-1)*3+10/...
  • sdr_zd
  • sdr_zd
  • 2016年08月04日 18:01
  • 624

中缀表达式、后缀表达式及前缀表达式-学习笔记

四则运算表达式求值: 20世纪50年代波兰逻辑学家janlukasiewicz想到了一种不需要括号的后缀表达式法,可以称为逆波兰表示(RPN).reverse polish notation . ...
  • long636
  • long636
  • 2015年11月21日 21:58
  • 835

中缀表达式转后缀表达式--C# 代码实现

使用计算机进行表达式的转换 平常我们用的标准四则运算表达式,如“1+(2-3)*4/5”叫做中缀表达式,,, 中缀转后缀表达式的规则是: 从左到右变量中缀表达式的每个数字和符号,若是数字就输出,即...
  • Czhenya
  • Czhenya
  • 2017年09月22日 22:23
  • 283

前缀表达式、中缀表达式、后缀表达式

中缀表达式就是我们日常看到的数学表达式:比如(2+4)*2,对于人类来说很直观,但是对于计算机而言,这种表达式很不容易理解。于是就有了前缀表达式和后缀表达式。前缀表达式前缀表达式是指将操作符放在前面,...
  • zdavb
  • zdavb
  • 2016年04月06日 22:13
  • 4083

栈与队列(三)中缀表达式转后缀表达式

中缀表达式=》后缀(逆波兰)表达式 例如:1+2=>1 2 + 分析原理:利用栈的记忆,符号推入栈,数字直接输出,当然有些时候在推入符号前,要先将栈内的元素Pop出来计算,再压入 具体分析1+(2...
  • w_linux
  • w_linux
  • 2017年02月09日 18:20
  • 487

数据结构(C++实现):栈的运用--中缀表达式转换为后缀表达式既 nyoj 257

这题用了c++提供的封装了,没有写手工栈,手工栈的代码等实验结束后再上传。        题目链接http://acm.nyist.net/JudgeOnline/problem.php?pid=2...
  • TheHide
  • TheHide
  • 2015年11月19日 15:24
  • 2314

中缀表达式转后缀表达式算法及实现

1 //MyStack.h 2 3 #include 4 using namespace std; 5 6 template class ElemType> class MyStack...
  • u012719556
  • u012719556
  • 2013年11月20日 09:07
  • 1624
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:中缀表达式换成后缀表达式
举报原因:
原因补充:

(最多只允许输入30个字)