资源简介

根据括号表达式构造二叉树,对二叉树进行前序,中序,后序,层序遍历,并用树形方式打印输出,有详细注释,供C++数据结构课程学习与交流使用。

资源截图

代码片段和文件信息

#include “stdafx.h“
#include “stdlib.h“
#include 
#include 
#include 
#include 

using namespace std;

struct BTNode //二叉树节点结构
{
char data;
BTNode *lChild *rChild;
BTNode(const char &data)
{
this->data = data;
this->lChild = NULL;
this->rChild = NULL;
}
BTNode()
{
this->lChild = NULL;
this->rChild = NULL;
}
};

class BTree //二叉树类
{
private:
BTNode head; // 仅左子树有效

int GetHeight(BTNode *ptr)const
{
if (ptr == NULL)
return 0;
else
return GetHeight(ptr->lChild) > GetHeight(ptr->rChild) ? GetHeight(ptr->lChild) + 1 : GetHeight(ptr->rChild) + 1;
}

public:
BTree(const string &s) //根据字符串(括号表达式)初始化二叉树的构造函数,只支持小写字母
{
stacknodeStack; //节点栈
stackstatusStack; //状态栈
nodeS

评论

共有 条评论