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

新闻网站域名seo技术博客

新闻网站域名,seo技术博客,商务部网站市场体系建设司首页,下载软件应用文章目录 构造二叉树表示的算术表达式:按先序次序输入二叉树中结点的值(操作数及运算符均以一位字符表示,注意转换), #字符表示空树,如上图的算术表达式 输入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.mnyf.cn/news/33824.html

相关文章:

  • 如何在网站页面做标注输入关键词自动生成文章
  • 门户网站模板图片汕头seo外包平台
  • 广州番禺网站公司哪家好seo系统
  • 中国做网站找谁怎么在百度发布自己的文章
  • 网站的内容百度官网认证申请
  • 静态网站怎么制作seo工具
  • 文件包上传的网站怎么做营销
  • 网站运营分析竞争对手合肥网络推广优化公司
  • 网站主机免费申请杭州seo营销
  • 网站5建设需要学什么条件网络营销推广计划
  • 上海做网站哪个好创建网站免费注册
  • 网络公司网站建设搜索引擎seo如何优化
  • 有帮忙做ppt的网站或人吗企业营销策略分析论文
  • 网站制作多少钱新闻深圳门户网站
  • 自己做网站自己做推广教程视频教程曹操seo博客
  • 彩票的网站怎么做龙岗网站推广
  • 商丘网站建设价格百度搜索关键词优化方法
  • 网站app开发平台武汉整站优化
  • 如何在社交网站上做视频推广百度搜索词热度查询
  • 移动网站开发内容google国际版入口
  • wordpress侧边栏文章目录合肥seo整站优化
  • 网站建设com推广普通话主题手抄报
  • 宁波网站建设 熊掌号网站流量分析的指标有哪些
  • 备案期间怎么做网站线上推广是什么工作
  • dreamweaver做的网站b站视频推广
  • 南昌那个公司做网站好百色seo关键词优化公司
  • 多个网站一个域名百度网址输入
  • 百度网站建设公司网络营销知识
  • 宝鸡网站建设为360指数查询工具
  • 百度广州分公司地址seo入门教程网盘