Infix To Prefix Expression
Infix To Prefix Expression
Example:
Input: Infix expression - A + B
Output: Prefix expression- +AB
import java.util.Stack;
public class InfixToPreFix {
static int precedence(char c){
switch (c){
case '+':
case '-':
return 1;
case '*':
case '/':
return 2;
case '^':
return 3;
}
return -1;
}
if (charsExp[i] == '(') {
charsExp[i] = ')';
i++;
}
else if (charsExp[i] == ')') {
charsExp[i] = '(';
i++;
}
}
for (int i = 0; i <charsExp.length ; i++) {
char c = charsExp[i];
import java.util.Stack;
public class PreFixToInFix {
public String convert(String expression){
Stack<String> stack = new Stack<>();
for (int i = expression.length()-1; i >=0 ; i--) {
char c = expression.charAt(i);
if(isOperator(c)){
String s1 = stack.pop();
String s2 = stack.pop();
String temp = "("+s1+c+s2+")";
stack.push(temp);
}else{
stack.push(c+"");
}
}
String result=stack.pop();
return result;
}
boolean isOperator(char x) {
switch (x) {
case '+':
case '-':
case '/':
case '*':
return true;
}
return false;
}
public static void main(String[] args) {
String exp = "*-A/BC-/AKL";
System.out.println("Prefix Expression: " + exp);
System.out.println("Infix Expression: " + new
PreFixToInFix().convert(exp));
}
}