从前缀转换为(中缀)到后缀

时间:2019-04-27 16:08:14

标签: stack postfix-mta prefix infix-notation

我有一个将给定字符串从前缀转换为后缀的项目,因此我计划先将给定前缀转换为后缀表达式,然后再将其转换为后缀表达式。

到目前为止,我仅成功将其转换为infix。 这是唯一的方法,还是有办法直接将给定的字符串从前缀转换为后缀而不转换为中缀? 请帮助

void pre_in()
{
   int n,i;
   char a,b,op;
   char y[20];
   printf("Enter the prefix expression\n");
   fflush(stdin);
   gets(str);
   n=strlen(str);
   for(i=0;i<MAX;i++)
   stack[i]='\0';
   printf("Infix expression is:\t");
   for(i=0;i<n;i++)
   {
   if(str[i]=='+'||str[i]=='-'||str[i]=='*'||str[i]=='/')
   {
     push(str[i]);
   }
   else
   {
     op=pop();
     a=str[i];
     printf("%c%c",a,op);
   }
   }
   printf("%c\n",str[top--]);


  }

0 个答案:

没有答案