Write a nonrecursive routine to reverse a singly linked
list in O(N) time.
Answer Posted / hasan ali mirza
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int preceed(char c);
void push(char c);
char pop();
char stk[30];
int tos=-1;
int main()
{
int i,j=0,n,u,v;
char infix[30],postfix[30],c;
printf("Enter the infix expression:");
scanf("%s",&infix);
n=strlen(infix);
for(i=0;i<n;i++)
{
if((infix[i]>='a'&&infix[i]<='z')||(infix[i]>='A'&&infix[i]<='Z'))
{
postfix[j]=infix[i];
j++;
}
else if(infix[i]=='^'||infix[i]=='*'||infix[i]=='/'||infix[i]=='+'||infix[i]=='-')
{
u=preceed(stk[tos]);
v=preceed(infix[i]);
while(u>=v&&stk[tos]!='(')
{
postfix[j]=pop();
j++;
u=preceed(stk[tos]);
}
push(infix[i]);
}
else if(infix[i]=='(')
{
push(infix[i]);
}
else if(infix[i]==')')
{
c=pop();
while(c!='(')
{
postfix[j]=c;
j++;
c=pop();
}
}
else
{
printf("Equation has error\n");
exit(0);
}
}
while(tos!=-1)
{
postfix[j]=pop();
j++;
}
postfix[j]=='\0';
printf("The equation in postfix:%s",postfix);
}
void push(char c)
{
tos++;
stk[tos]=c;
}
char pop()
{
char val;
val=stk[tos];
tos--;
return(val);
}
int preceed(char c)
{
int v;
switch(c)
{
case '^':v=3;
break;
case '*':
case '/':v=2;
break;
case '+':
case '-':v=1;
break;
default:v=0;
break;
}
return(v);
}
| Is This Answer Correct ? | 2 Yes | 2 No |
Post New Answer View All Answers
What are the differences between 1 dimensional RAM and 2 dimensional RAM?
can any give an exact example about, resolving the sql errorcode -305
pls send me rrb se(s&t)questions
Explain Belady's Anomaly.
iam from engineering information technology ... can i write group 1 exams??
Whats the difference between following two array declaration in JAVA? int a[]={1,2,3,4,5}; int []a-{1,2,3,4,5};
i want to know how can i divide the bandwidth among two computers.say i have a connection of 256 kbps dsl connection. i have a switch.now i want to divide this 256 kbps in two 128,128 equal connections.so that both of us can work on our separate 128 speed
There are prime factors of two numbers a and b , write a program using this prime factors whether a is divisible by b?
what is the need for oobs
write program which accept information about 5 student & display same information according to ascending order of their name??
95) func(a,b) int a,b; { return( a= (a==b) ); } main() { int process(),func(); printf("The value of process is %d ! ",process(func,3,6)); } process(pf,val1,val2) int (*pf) (); int val1,val2; { return((*pf) (val1,val2)); please help me in detail ....with flowchart
why IT?
I need ECIL last year Question papers for COMPUTER SCIENCE ENGG. Please
what is polymorphism.
hi,i just want to know the best institute to learn oracle in bangalore because i am doing my BE there?