设一个仅包含运算二元算术表达式,以链表二叉树存储,写出计算该表达式的算法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了设一个仅包含运算二元算术表达式,以链表二叉树存储,写出计算该表达式的算法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含628字,纯文字阅读大概需要1分钟。
内容图文
![设一个仅包含运算二元算术表达式,以链表二叉树存储,写出计算该表达式的算法](/upload/InfoBanner/zyjiaocheng/614/e97935895dae4444858ebb2d1c7c1aad.jpg)
基于后续遍历思想,递归计算左右子树的结果最后根据根节点的操作符计算结果
typedef struct BiTNode{
ElemType data;
struct BiTNode *lchild,*rchild;
}*BiTree;
//对二叉链表树中的结点计算
ElemType Calculate(BiTree T){
BiTNode *p = T; //创建指针指向根结点
ElemType val_l, val_r;
if(T){
val_l = Calculate(T->lchild); //递归计算左、右子树
val_r = Calculate(T->rchild);
switch(T->optr){ //根据根节点的字符将左右子结果计算为当前这一层子树的结果
case'+':
value = val_l + val_r;
break;
case'-':
value = val_l - val_r;
break;
case'*':
value = val_l * val_r;
break;
case'/':
value = val_l / val_r;
break;
default:
break;
}
}
return value;
}
内容总结
以上是互联网集市为您收集整理的设一个仅包含运算二元算术表达式,以链表二叉树存储,写出计算该表达式的算法全部内容,希望文章能够帮你解决设一个仅包含运算二元算术表达式,以链表二叉树存储,写出计算该表达式的算法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。