Convert Infix to Postfix and Prefix

Revision en2, by Peregrine_Falcon, 2018-04-07 15:11:49

Convert Infix to Postfix Notation

Initially we’ve a string S which represent the expression in infix format. Now we need a character stack.

*We’ll iterate through the string S, from left to right.

  • Whenever we encounter an operand we’ll print it.

  • If we encounter an ‘(‘ we’ll push it to the stack.

  • If we encounter an ‘)’ we’ll take the following actions:

    1. We’ll continue to pop top of the stack until we find the ’(‘
    2. Before we pop top of the stack, we’ll print every character of top of the stack except ‘)’.
  • If we encounter an operator, we’ll take the following actions:

    1. We’ll continue to pop top of the stack until we find that S[ i ] is greater than the top of the Stack (by the rules of precedence) Ex: if we found an Multiplication operator on S [ i ] We’ll continue searching for addition or subtraction operator on top of the stack. We’ll stop searching until it’s empty or we’ve found one. Before that we’ll pop top of the Stack. And before pop, we’ll print every operators.
  • When the traversal will finished, we’ll continue to pop top of the stack until it's empty, and before pop we’ll print every operators.

You can see my Code

Convert Infix to Prefix Notation

To convert an infix to Prefix, first we’ve to know how to convert Infix to postfix notation.

Initially we’ve a string S which represent the expression in infix format.

  • Reverse the string S. After reversing A+B*C will become C*B+A. Note while reversing each ‘(‘ will become ‘)’ and each ‘)’ becomes ‘(‘.

  • Obtain the postfix expression of the modified string S. We’ve to handle the ‘(‘ as ‘)’ and ‘)’ as ‘(‘

  • Just reverse the postfix expression we’ve.

You can see my Code

If you want to know in details about Infix, Postfix and Prefix This Link maybe help you.

Here are some basic practice problems: WhatFix Notation Equation Convert the Expression

Thank you for reading. If there anything else, please let me know.

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en2 English Peregrine_Falcon 2018-04-07 15:11:49 506
en1 English Peregrine_Falcon 2018-04-06 16:24:20 1983 Initial revision (published)