标签: c++ tree binary-tree
我需要帮助将数据添加到树中。例如,如果我有7 + 8 * 9-18 /(1 + 2),我怎么能以一种我可以使用二叉树计算结果的方式将它添加到二叉树中。我是学习树结构的初学者,所以我对它不是很熟悉。
答案 0 :(得分:1)
将修复后表达式转换为中缀后,请按照以下步骤构建树。
如果是数字,请添加它以添加到堆栈。
如果is是运算符,请将运算符作为父节点, 弹出元素并将其作为父节点的右子节点, 弹出元素并将其作为父子节点的左子节点 并将父节点添加到堆栈。
答案 1 :(得分:0)
请参阅How to write an evaluator for a string like "(1+3 * ( 5 / 4)) and get a numeric result和Shunting Yard Algorithm