0% found this document useful (0 votes)
46 views2 pages

Exp 19.1 DSA

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views2 pages

Exp 19.1 DSA

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

//Experiment 19 : WAP to convert infix to postfix expressions using stack.

#include<stdio.h>
#include<ctype.h>

char stack[100];
int top=-1;

void push(char x) //performing Push operation


{
stack[++top]=x;
}

char pop() //performing Pop operation


{
if(top==-1)
return -1;
else
return stack[top--];
}

int priority(char x) // Giving Priority to Operators


{
if(x=='(')
return 0;
if(x=='+'||x=='-')
return 1;
if(x=='*'||x=='/')
return 2;
return 0;
}

int main()
{
char exp[100];
char *e,x;
printf("\nExperiment 19 : This is a Program to convert the Infix Expression
into the Postfix Expression using Stack");
printf("\n\nEnter the Infix Expression : ");
scanf("%s",exp);
printf("\nCorresponding Postfix Expression is : ");
e=exp;
while(*e!='\0')
{
if(isalnum(*e))
printf("%c",*e);
else if (*e=='(')
push(*e);
else if (*e==')')
{
while((x=pop())!='(')
printf("%c",x);
}
else
{
while(priority(stack[top])>=priority(*e))
printf("%c",pop());
push(*e);
}
e++;
}
while(top!=-1)
printf("%c",pop());
return 0;
}

You might also like