Write a program that translates arithmetic expressions writt

Write a program that translates arithmetic expressions written used the standard infix notation, into RPN (Reserve Polish Notation). Your program should use a Java class Stack. You can choose to implement the Stack either using an array or using a linked list. Test your program by using inputs of different lengths and with different types of nested parentheses.

Implement a Java class Queue using circular arrays. Test your implementation and make sure all the methods work. Then use your class Queue to implement Ceasar’s Cypher with a repeating key.

Solution

Algorithm infix2postfix(infix exp<b></b>ression string, postfix exp<b></b>ression string)

{

   char *i,*p;

i = first element in infix exp<b></b>ression

   p = first element in postfix exp<b></b>ression

   while i is not null

   {

      while i is a space or tab

      {

         increment i to next character in infix exp<b></b>ression;

      }

      if( i is an operand )

      {

         p = i;

         increment i to next character in infix exp<b></b>ression;

         increment p to next character in postfix exp<b></b>ression;

      }

      if( i is \'(\' )

      {

         stack_push(i);

         increment i to next character in infix exp<b></b>ression;

      }

      if( i is \')\' )

      {

         while( element at top of stack != \'(\' )

         {

            p = element at top of stack;

            increment p to next character in postfix exp<b></b>ression;

         }

         increment i to next character in infix exp<b></b>ression;

      }

      if( i is an operator )

      {

         if( stack is empty )

             stack_push(i);

         else

         {

            while priority(element at top of stack) >= priority(i)

            {

              p = element at top of stack;

               increment p to next character in postfix exp<b></b>ression;

            }

            stack_push(i);

         }

         increment i to next character in infix exp<b></b>ression;

      }

   }

   while stack is not empty

   {

      p = stack_pop()

      increment p to next character in postfix exp<b></b>ression;

   }

   p = \'\\0\';

}

Write a program that translates arithmetic expressions written used the standard infix notation, into RPN (Reserve Polish Notation). Your program should use a J
Write a program that translates arithmetic expressions written used the standard infix notation, into RPN (Reserve Polish Notation). Your program should use a J

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site