中缀表达式到后缀表达式的转换

中缀表达式到后缀表达式的转换  要把表达式从中缀表达式的形式转换成用后缀表示法表示的等价表达式,必须了解操作符的优先级和结合性。优先级或者说操作符的强度决定求值顺序;优先级高的操作符比优先级低的操作符先求值。 如果所有操作符优先级一样,那么求值顺序就取决于它们的结合性。操作符的结合性定义了相同优先级操作符组合的顺序(从右至左或从左至右)。 转换过程包括用下面的算法读入中缀表达式的操作数、操作符和括号:1. 初始化一个空堆栈,将结果字符串变量置空。2. 从左到右读入中缀表达式,每次一个字符。3. 如果字符是操作数,将它添加到结果字符串。4. 如果字符是个操作符,弹出(pop)操作符,直至遇...
2010-04-17 23:20 | 阅读 931 次 | 评论 0 条

中缀转化为后缀算法

中缀转化为后缀算法: a. 得到一操作符或操作数; b. 若输入为操作数,则输出到数组SNode,转a; c. 若输入为‘(’,压栈,转a; d. 若输入为‘)’,栈顶出栈,输出到数组,直至栈顶为‘(’,不输出到数组(抛弃),转a; e. 若输入为操作符, 若栈空或栈顶为‘(’或操作符忧先级大于栈顶操作符,压栈,转a 若操作符优先级小于栈顶操作符,则出栈,输出至数组,转e; d. 若输入结束,出栈,输出到数组,直至栈空。 数组SNode中即为后缀表达式; 优先级可以根据需要分为 栈内优先级...
2010-04-17 23:14 | 阅读 514 次 | 评论 0 条

全面学习javascript中的eval函数

本文的两个目的:   (1)介绍javascript中的eval函数的用法   (2)如何在函数内执行全局代码   ►先来说eval的用法,内容比较简单,熟悉的可以跳过。   eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句。如果s语句执行结果是一个值,则返回此值,否则返回undefined。   需要特别注意的是对象声明语法“{}”并不能返回一个值,需要用括号括起来才会返回值,简单示例如下: var code1='"a" + 2'; //表达式var code2='{a:2}';  //语句alert(eval(code1)); ...
2010-04-17 23:04 | 阅读 392 次 | 评论 0 条

js中的eval函数的用法

js中的eval函数的用法 js 2009-10-14 17:06:08 阅读297 评论0 字号:大中小 本文的两个目的: (1)介绍javascript中的eval函数的用法 (2)如何在函数内执行全局代码 ?先来说eval的用法, eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句。如果s语句执行结果是一个值,则返回此值,否则返回undefined。 需要特别注意的是对象声明语法“{}”并不能返回一个值,需要用括号括起来才会返回值,简单示例如下: var code1='"a" + 2'; //表达式 var code2='{a...
2010-04-17 22:50 | 阅读 586 次 | 评论 0 条

【将中缀表达式转化为后缀】

【将中缀表达式转化为后缀】#include <stdio.h>#include <ctype.h>#include <stdlib.h>typedef struct node{ char data; int code; int pri; struct node *link;}NODE;struct Tb1{ char data; int code; int pri;}opchTb1[]={{'*',1,4},{'/',2,4},{'+',3,2},{'-',4,2},{'(',5,5},{')',6,1},{'\0',7,0},{'#',-1,0}};NODE *optop;c...
2010-04-17 22:44 | 阅读 429 次 | 评论 0 条

Eval 是Javascript 中一个非常有用而奇特的预定义函

Eval 是Javascript 中一个非常有用而奇特的预定义函数,在Flash5 的Actionscript 语言里也能见到它的身影。然而,它的概念和作用也像C 语言中的指针一样较难理解,因而在实际应用中常常不能运用得当。函数Eval的功能是把一个字符串参数转换成Javascript的代码,这个被转换的代码可以是一个变量名,也可以是一个算术表达式,甚至是一个函数表达式。如i = eval("name1")是把名为name1 的变量赋值给变量i;i=eval("3+2")是把表达式3+2 的值5 赋给变量i ; i = eval("funname(n)")是把函数funname(n)...
2010-04-17 12:54 | 阅读 463 次 | 评论 0 条

计算器

#include <stdio.h>#include <stdlib.h>#include <string.h>#include <ctype.h> #define DELIMITER 1#define VARIABLE 2#define NUMBER 3 char token[80];char tok_type;char *prog; void eval_exp(double *answer),eval_exp2(double *answer);void eval_exp3(double *answer),eval_exp4(double *answer);void eval...
2010-04-17 12:52 | 阅读 409 次 | 评论 0 条

C语言《算术表达式求值》

//带括号的算术表达式求值 源程序清单#include<iostream.h>#include<string.h>#include<stdio.h>#include<stdlib.h>#include<assert.h>#define ERROR -1 //错误#define BLANK 0 //空格#define DATA 1#define KUOHAO1 5 //括号#define KUOHAO2 2#define ADD_OR_SUB 3 //加减#define MUT_OR_DIV 4 //乘除const int size=500;template <class Ele...
2010-04-15 14:39 | 阅读 716 次 | 评论 0 条

C语言表达式求值程序

按1输入表达式(不用输入=号)按2计算按3输出结果按4退出程序如下:#include<stdio.h>#include <string.h>#include <conio.h>#define PLUS 0#define MINUS 1#define POWER 2#define DIVIDE 3#define LEFTP 4#define RIGHP 5#define STARTEND 6#define DIGIT 7#define POINT 8#define NUM 7#define NO 32767#define STACKSIZE 20 char a[]={'+','-...
2010-04-15 14:37 | 阅读 781 次 | 评论 0 条

W3Eval对表达式精确求解

W3Eval:一种新的方法W3Eval 的方法与上面概括的经典算法不同。不是把中缀表达式转换为后缀表示法;恰恰相反,它对中缀表达式直接求值。这种方法比传统方法稍微复杂了些,但它支持一步一步的求值,在执行时您能看到每一步。求值过程类似于手工计算:如果表达式中包含括号,先求嵌套最深的括号对中的子表达式的值。所有括号内的子表达式都求值完毕后,表达式的其它部分再求值。求值过程分为三个步骤: 表达式语法分析 表达式检查 一步一步的求值 表达式语法分析 W3Eval 的数学表达式由数字、变量、操作符、函数和括号组成。除了缺省的十进制计数制外 W3Eval 还支持二进制、八进制...
2010-04-15 14:34 | 阅读 1060 次 | 评论 0 条

逆波兰算法

后缀表示法 在后缀表示法中,操作符位于操作数后面。后缀表示法也称逆波兰表示法(reverse Polish notation,RPN),因其使表达式求值变得轻松,所以被普遍使用。 格式 : operand1 operand2 operator Example : AB+C*DEF+/- 上例的中缀表达式(即我们常用的表示方法)为 (A+B)*C-D/(E+F)
2010-04-15 14:25 | 阅读 560 次 | 评论 0 条

vb添加启动项和删除启动项

vb添加启动项和删除启动项 '' 关闭打开的键Private Declare Function RegCloseKey Lib "advapi32.dll" _ (ByVal hKey As Long) As Long'建立键Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" _ (ByVal hKey As Long, _ ByVal l...
2010-04-15 14:01 | 阅读 916 次 | 评论 0 条

c语言windows后门

c语言windows后门 在WINDOWS服务器渗透的时候可能用的着,也可以让xx界里的朋友学点东西功能在帐户有组策略限制的时候,无法添加管理员账号的时候,可以不用密码登陆。测试在XP,2000,2003上过。运行后不需要用密码。模仿GOLDSUN的那个写的。// get.cpp : 定义控制台应用程序的入口点。//#include "stdio.h"#include <windows.h>#include <TLHELP32.H> BOOL EnablePriv()//提升进程权限{HANDLE hToken;if ( OpenProcessToken(GetCurrentProc...
2010-04-15 13:58 | 阅读 747 次 | 评论 0 条

深入认识javascript中的eval函数

深入认识javascript中的eval函数 ----------------------------------------- 发现为本文起一个合适的标题还不是那么容易,呵呵,所以在此先说明下本文的两个目的:(1)介绍javascript中的eval函数的用法(2)如何在函数内执行全局代码 &#9658;先来说eval的用法,内容比较简单,熟悉的可以跳过。eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句。如果s语句执行结果是一个值,则返回此值,否则返回undefined。需要特别注意的是对象声明语法“{}”并不能返回一个值,需要用括号括起来才会返回值,...
2010-04-15 13:55 | 阅读 319 次 | 评论 0 条
文章分类
文章归档
最新评论