当前位置: 首页 > news >正文

新闻网站域名360网站收录

新闻网站域名,360网站收录,做盈利网站怎么备案,平面设计班文章目录 构造二叉树表示的算术表达式:按先序次序输入二叉树中结点的值(操作数及运算符均以一位字符表示,注意转换), #字符表示空树,如上图的算术表达式 输入2##*3##4## 输入格式 第一行输入表示要计算的算术表达式的二叉树结点的…

文章目录


构造二叉树表示的算术表达式:按先序次序输入二叉树中结点的值(操作数及运算符均以一位字符表示,注意转换),
'#'字符表示空树,如上图的算术表达式
输入+2##*3##4##

输入格式
第一行输入表示要计算的算术表达式的二叉树结点的先序遍历序列,空树用#表示
输出格式
第一行输出该算术表达式的值
输入样例
+2##*3##4##
输出样例
14

部分代码如下:

#include "stdio.h"
#include "malloc.h"
#define TRUE 1
#define FALSE 0
#define OK  1
#define ERROR  0
#define INFEASIBLE -1
#define OVERFLOW -2
typedef int  Status;const int MAXN = 1000;
int lch[MAXN],rch[MAXN];
char op[MAXN];
char input[MAXN];
int nc=0;typedef char  ElemType;
typedef struct BiTNode
{ElemType data;struct BiTNode *lchild,*rchild;//左右孩子指针
} BiTNode,*BiTree;
ElemType Calculate(BiTree T){int value = 0;BiTNode *p = T;    //创建指针指向根结点ElemType val_l, val_r;if(T){val_l = Calculate(p->lchild);    //递归计算左、右子树val_r = Calculate(p->rchild);switch(p->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;
}Status CreateBiTree(BiTree &T)    // 算法6.4
{// 按先序次序输入二叉树中结点的值(一个字符),’#’字符表示空树,// 构造二叉链表表示的二叉树T。char ch;scanf("%c",&ch);if (ch=='#') T = NULL;else{if (!(T = (BiTNode *)malloc(sizeof(BiTNode)))) return ERROR;T->data = ch; // 生成根结点CreateBiTree(T->lchild);   // 构造左子树CreateBiTree(T->rchild);  // 构造右子树}return OK;
}int main()   //主函数
{BiTree T;CreateBiTree(T);printf("%d\n",Calculate(T));return 0;
}//main

代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
struct TreeNode
{char value;struct TreeNode* left;struct TreeNode* right;
};int calculate(struct TreeNode* root)
{if (root == NULL){return 0;}if (root->left == NULL && root->right == NULL){return root->value - '0';}int left = calculate(root->left);int right = calculate(root->right);switch (root->value){case '+':return left + right;case '-':return left - right;case '*':return left * right;case '/':return left / right;default:return 0;}
}struct TreeNode* createNode(char value)
{struct TreeNode* node = (struct TreeNode*)malloc(sizeof(struct TreeNode));node->value = value;node->left = NULL;node->right = NULL;return node;
}struct TreeNode* buildTree()
{char value = getchar();if (value == '#'){return NULL;}struct TreeNode* node = createNode(value);node->left = buildTree();node->right = buildTree();return node;
}int main()
{struct TreeNode* root = buildTree();printf("%d\n", calculate(root));return 0;
}

http://www.ds6.com.cn/news/94160.html

相关文章:

  • wap多用户网站重大新闻事件
  • 网站托管 济南企业网站怎么建立
  • 百度免费安装百度广告优化师
  • 做电影下载网站需要什么最有效的线上推广方式
  • 凡科如何开通网站建设深圳全网推广平台
  • 长宁微信手机网站制作seo怎么收费
  • dedecms5.7化妆品公司网站源码网站制作的基本流程是什么
  • 小公司做网站的好处云浮seo
  • 修改wordpress地址网站打不开廊坊seo快速排名
  • wordpress自带下载插件优化设计
  • 英文网站 建站做营销型网站的公司
  • 关闭网站怎么不保存我做的更改百度游戏app下载
  • 大连建设集团招聘信息网站百度云网页版登录入口
  • 猪八戒网做网站被骗广州seo培训
  • 网站建设与运营市场开拓方案网站设计就业
  • wordpress主题熊掌号seo网络优化师就业前景
  • 深圳网站建设推广seo对网店推广的作用有哪些
  • 免费自助网站百度竞价推广常用到的工具
  • 做网站如何处理并发问题网站建设制作过程
  • 怎么看网站有没有备案b2b免费外链发布
  • 网站开发关键技术樱桃电视剧西瓜视频在线观看
  • 网站的总规划书网店运营策划方案
  • 网站代理备案西安seo优化系统
  • 长沙java网站开发株洲24小时新闻
  • 临沂网站临沂网站制作怎么建网站平台卖东西
  • 网站怎么做可以增加点击率优化seo系统
  • 做app模板网站有哪些宁波网络营销推广公司
  • 中国制造网官方网站下载安装代发广告平台
  • 电商网站那些功能用到静态化功能电子商务网站有哪些?
  • 专业开发网站建设广西壮族自治区人民医院