#include #include using namespace std; struct node { char data ; node *next ; }; class stack { private : node *head; public : stack() { head = NULL; } void push(char a) { node * temp = new node(); temp ->data = a ; temp -> next = head ; head = temp ; } char pop() { node *temp = head ; head = temp->next ; char a = temp->data ; delete temp; return a; } char see_top() { if(is_empty()) return '0' ; node * temp = head ; return (temp->data); } int is_empty() { if(head == NULL) return 1; else return 0 ; } }; int is_digit(char a) { if(a >= '0' && a<= '9') return 1; else return 0; } int is_operand(char a) { switch(a) { case '+' : case '-' : case '*' : case '/' : return 1; default : return 0; } } void reverse(char a[] , int l) { int i=0; stack b ; for(int j=0;j