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...