ZBLOG

#include #include #include #include #include using namespace std; int flag=0; typedef struct Node{ char data[5]; struct Node *left,*right; int depth; }BTnode,*BTree; void CreateTree(BTree &T...

你需要在代码中记录下每个节点的中缀表达式,并在计算完毕后输出。

可以使用一个栈来存储每个节点的中缀表达式。具体地,对于当前访问到的节点,如果它是叶子节点,则将其数值压入栈中;否则,先将左括号压入栈中,然后递归访问左右子树,并将当前运算符压入栈中。最后,在右子树访问结束后,再将右括号压入栈中。

例如,对于样例输入2 + 3 * ( 5 - 1 ) #,所构建出的二叉树如下图所示:

            +
           / \
          2   *
             / \
            3   -
               / \
              5   1

按照上述方法处理该二叉树,得到以下结果:

(2+(3*(5-1)))

这个字符串即为该二叉树的中缀表达式。你需要在计算完毕后输出该字符串。

修改后的代码如下:

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=5252

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?