Postfix to Infix Conversion
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Postfix to Infix</title> <style type="text/css"> .header{font-family:verdana,arial,helvetica; font-weight:bold; font-size:22pt; color:#0066CC; filter:DropShadow(color=#CCCCFF, offX=2, offY=2, positive=1); width:100%} .form_in{background:#FFFFFF; border:#0066CC solid 1px} .text_box{font-weight:bold; background:#EEEEFF; border:#0066CC solid 1px; height:20px} .button{background:#0066CC; font-weight:bold; color:#FFFFFF; border:#0066CC solid 1px; height:20px; cursor:hand} .link{color:#0066CC} .link:hover{color:#0099FF} </style> </head> <body bgcolor="#FFFFFF">
<!--BEGIN POSTFIX TO INFIX JAVASCRIPT--> <script language="JavaScript"> /* Postfix to Infix Conversion - Converts a Postfix(Postorder) expression to Infix(Inorder) - For eg. 'abc/+d-' converts to 'a+b/c-d' - Valid Operators are +,-,*,/ - No Error Handling in this version JavaScript Implementation - CopyRight 2002 Premshree Pillai Based on "Postfix Evaluator". See -http://www.qiksearch.com/javascripts/postfix-evaluator.htm See algorithm at -http://www.qiksearch.com/articles/cs/postfix-evaluation/index.htm Created : 03/09/02 (dd/mm/yy) Web : http://www.qiksearch.com E-mail : qiksearch@rediffmail.com */
function push_stack(stackArr,ele) { stackArr[stackArr.length]=ele; }
function pop_stack(stackArr) { var _temp=stackArr[stackArr.length-1]; delete stackArr[stackArr.length-1]; stackArr.length--; return(_temp); }
function isOperand(who) { return(!isOperator(who)? true : false); }
function isOperator(who) { return((who=="+" || who=="-" || who=="*" || who=="/" || who=="(" || who==")")? true : false); }
function topStack(stackArr) { return(stackArr[stackArr.length-1]); }
function PostfixToInfix(postfixStr) { var stackArr=new Array(); postfixStr=postfixStr.split(''); for(var i=0; i<postfixStr.length; i++) { if(isOperand(postfixStr[i])) { push_stack(stackArr,postfixStr[i]); } else { var temp=topStack(stackArr); pop_stack(stackArr); var pushVal=topStack(stackArr)+postfixStr[i]+temp; pop_stack(stackArr); push_stack(stackArr,pushVal); } } return(topStack(stackArr)); } </script> <!--END POSTFIX TO INFIX JAVASCRIPT-->
<center><span class="header">Postfix to Infix Conversion</span></center>
<!--BEGIN FORM--> <center> <form name="input_form"> <table class="form_in" cellspacing="0" cellpadding="3"> <tr bgcolor="#0066CC"> <td><font face="verdana,arial,helvetica" size="-2" color="#FFFFFF">Postfix Expression :</font></td> <td><font face="verdana,arial,helvetica" size="-2" color="#FFFFFF">Infix Expression :</font></td> <td></td> </tr>
<tr> <td><input type="text" name="postfixVal" class="text_box" value=""></td> <td><input type="text" name="infixVal" class="text_box" value=""></td> <td align="bottom"><input type="button" onClick="document.input_form.infixVal.value=PostfixToInfix(document.input_form.postfixVal.value)" value="Postfix to Infix" class="button"></td> </tr> </table> </form> </center> <!--END FORM-->
<table width="465" align="center"><tr><td> <font face="verdana,arial,helvetica" size="-1" color="#000000">
This is the "JavaScript" Implementation of converting a Postfix(Postorder) expression to Infix(Inorder) expression. <br><br>It is a small modification of <a href="http://www.qiksearch.com/javascripts/postfix-evaluator.htm" class="link">Postfix Evaluator</a>.<br>For the algorithm used in "Postfix Evaluator" <a href="http://www.qiksearch.com/articles/cs/postfix-evaluation/index.htm" class="link">click here</a>. <hr style="color:#003366; height:1px"> © 2002 <a href="http://www.qiksearch.com" class="link" title="Click here to visit Qiksearch.com">Premshree Pillai</a>. </font> </td></tr></table>
</body> </html>
|
|
|
|
|
Related Scripts with Example Source Code in same category :
-
-
|
|