首页 > 其他 > 详细

栈中缀转后缀

时间:2020-05-25 23:08:54      阅读:84      评论:0      收藏:0      [点我收藏+]

为了更好地理解上述转换算法,给出表达式A*B-(C+D)+E的具体执行过程

技术分享图片

 中转前

从右往左扫描 若小于则出栈和入栈

后转前

 

void infix(char infix[],char s2[],int &top2)
{
    char s1[maxsize];int top=-1;
    int i=0;
    while(infix[i]!=\0)
    if(0<infix[i]<9)
    {s2[++top2]=infix[i]
    ++i
    }
    else if(infix[i]==()
    {
        s1[++top1]=(;
        ++i;
    }
    else if(infix[i]==+-*/)
    {
        if(top==-1||s1[top1=(||
        getpriority(infix[i])>getpriority(s1[top1]))
    }
}

 

栈中缀转后缀

原文:https://www.cnblogs.com/lifutao/p/12961165.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!