Assignment 5
by austinmillett
HTML
<p>
number1:<input type="text" id="input1" />br
number2:<input type="text" id="input2" />
<input type="text" id="op" onkeyup="runRPNCalculator();" />
</p>
JavaScript
function runRPNCalculator()
{
var ExpSt = {};
ExpSt.myLinkStackNde = function(){
this.myLinkStkItem = null;
this.myLinkStkNxt = null;
};
ExpSt.LinkedStack = function()
{
var myLinkStkHead = null;
var myLinkStkSize = null;
this.pushStkItem = function(myLinkStkItem)
{
var nde = new ExpSt.myLinkStackNde();
nde.myLinkStkItem = myLinkStkItem;
nde.myLinkStkNxt = null;
if(myLinkStkSize < 1 && myLinkStkHead === null){
myLinkStkHead = nde;
myLinkStkHead.myLinkStkNxt = null;
myLinkStkSize = 1;
}else{
var curtNde = myLinkStkHead;
while(curtNde.myLinkStkNxt !== null){
curtNde = curtNde.myLinkStkNxt;
}
curtNde.myLinkStkNxt = nde;
myLinkStkSize += 1;
}
};
this.popStkItem = function()
{
var curtNde = myLinkStkHead;
if(myLinkStkSize === 0){
return;
}
if(myLinkStkSize === 1){
myLinkStkHead = null;
myLinkStkSize = 0;
return curtNde;
}
var prev = curtNde;
while(curtNde.myLinkStkNxt !== null){
prev = curtNde;
curtNde = curtNde.myLinkStkNxt;
}
prev.myLinkStkNxt = null;
myLinkStkSize -= 1;
return curtNde;
};
this.chkStkEmpty = function(){
return (myLinkStkSize < 1) ? true : false;
};
// Function to get top myLinkStkItem of the stack
this.myStkTopitm = function(){
var curtNde = myLinkStkHead;
if(myLinkStkSize > 0 && myLinkStkHead !== null){
while(curtNde.myLinkStkNxt !== null){
curtNde = curtNde.myLinkStkNxt;
}
return...