您的位置:首页 > 其它

中缀转后缀

2016-01-11 16:18 316 查看
#include<stdio.h>

int top=0;
char stack[100];
void push(char x)
{
stack[top++]=x;
}
void pop()
{
printf("%c",stack[--top]);
}
void inToPost(char *a)
{
int i;
for(i=0;a[i]!='\0';i++){
if(a[i]>='a'&&a[i]<='z')
printf("%c",a[i]);
else if(a[i]=='+'||a[i]=='-'){
while(top!=0&&stack[top-1]!='('){
pop();
}
push(a[i]);
}
else if(a[i]=='*'||a[i]=='/'){
push(a[i]);
}
else if(a[i]=='('){
push(a[i]);
}
else if(a[i]==')'){
while(stack[top-1]!='('){
pop();
}
top--;
}
}
while(top!=0)pop();
}

int main()
{
char a[100];
gets(a);
inToPost(a);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: