Professional Documents
Culture Documents
LAB # 10
Object
Lab10;
import java.util.*;
{ st.push(new Integer(a));
System.out.println("push(" + a + ")");
System.out.println(a);
showpush(st, 42);
showpush(st, 66);
showpush(st, 99);
showpop(st); showpop(st);
showpop(st);
try {
showpop(st);
} catch (EmptyStackException e) {
System.out.println("empty stack");
OUTPUT:
LAB TASK
1. Convert and evaluate the expression from infix to postfix using Stack ADT class.
(A+B) * (C-D)
CODE:
package Lab10;
import java.util.Stack;
{ switch (ch)
{ case
'+': case
'-':
return 1;
'/':
return 2;
case '^':
return 3;
return -1;
char c = exp.charAt(i); if
(Character.isLetterOrDigit(c))
result += c;
else if (c == '(')
stack.push(c);
else if (c == ')')
stack.peek() != '(')
result += stack.pop();
stack.pop();
stack.push(c);
while (!stack.isEmpty()){
if(stack.peek() == '(')
result += stack.pop();
return result;
OUTPUT:
HOME TASK:
1. Convert and evaluate the expression from infix to postfix using Stack ADT class.
A + ( B * C - ( D / E | F ) * G ) * H CODE:
package Lab10;
import java.util.*;
try{
postfix.replace("B","4"); postfix =
postfix.replace("C","7"); postfix =
postfix.replace("D","8"); postfix =
postfix.replace("E","3"); postfix =
postfix.replace("F","4"); postfix =
postfix.replace("G","3"); postfix =
postfix.replace("H","5");
System.out.println(postfix);
System.out.println("Evaluation: "+evaluatePostfix(postfix));
e.printStackTrace();
i=0;i<exp.length();i++)
char c=exp.charAt(i);
if(Character.isDigit(c))
switch(c) {
case '+':
stack.push(val2+val1);
break;
case '-':
stack.push(val2- val1);
break;
case '/':
stack.push(val2/val1);
break;
case '*':
stack.push(val2*val1);
break;
return stack.pop();
{ switch (ch)
{ case
return 1;
case '*':
case '/':
return 2;
case '^':
return 3; }
return -1;
char c = exp.charAt(i); if
(Character.isLetterOrDigit(c))
result += c;
else if (c == '(')
stack.push(c); else
if (c == ')')
stack.peek() != '(')
result += stack.pop();
stack.pop();
<= Prec(stack.peek())){
result += stack.pop();
stack.push(c);
while (!stack.isEmpty()){
if(stack.peek() == '(')
result += stack.pop();
return result;
OUTPUT:
Page