77范文网 - 专业文章范例文档资料分享平台

表达式构建二叉树(中缀,前缀,后缀)

来源:网络收集 时间:2021-01-20 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

《数据结构与算法》上的一道作业题答案,本程序设计二叉树的构建,遍历以及打印等函数,能够实现自动分辨所输入表达式属于什么类型。

// TheRealBinaryTreeOfMine.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"

#include<string>

#include<stack>

#include<queue>

#include<iostream>

#include<math.h>

using namespace std;

class BinaryNode{

public:

char date;

BinaryNode * leftchild;

BinaryNode * rightchild;

BinaryNode(){

date = 0;

leftchild = NULL;

rightchild = NULL;

}

BinaryNode(char ch){

date = ch;

leftchild = NULL;

rightchild = NULL;

}

};

int first_or_last(char a, char b); //判断两个运算符的优先级;

bool isOP(char ch); //判断该字符是否属于操作符; BinaryNode* Build_BinaryTree(BinaryNode* &BT, string str);//根据中缀表达式构建一颗二叉树; void Last(BinaryNode *bt); //后序遍历二叉树(递归);

void First(BinaryNode *bt); //先序遍历二叉树(递归);

void Inn(BinaryNode *bt); //中序遍历二叉树(递归);

string Exp_turn(string s); //后缀表达式转换成中缀表达式;

string Exp_turn_and_turn(string s); //前缀表达式转换为中缀表达式;

int choice(char c, char d); //判断表达式属于什么类型的表达式(中缀,后缀,前缀);

void Print(BinaryNode *bt); //打印二叉树(层序遍历,层层打印二叉树);

int first_or_last(char a, char b){

if (a == '/' || a == '*'){

if (b == '+' || b == '-')

return 1;

if (b == '/' || b == '*')

return 0;

else

return 0;

}

if (a == '+' || a == '-'){

if (b == '+' || b == '-')

return 0;

if (b == '/' || b == '*')

return 0;

else

return 0;

}

else

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库表达式构建二叉树(中缀,前缀,后缀)在线全文阅读。

表达式构建二叉树(中缀,前缀,后缀).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1178625.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: