-
大小: 6KB文件類型: .cpp金幣: 1下載: 0 次發(fā)布日期: 2021-01-01
- 語(yǔ)言: C/C++
- 標(biāo)簽: 二叉樹(shù)??C++??數(shù)據(jù)結(jié)構(gòu)??
資源簡(jiǎn)介
根據(jù)括號(hào)表達(dá)式構(gòu)造二叉樹(shù),對(duì)二叉樹(shù)進(jìn)行前序,中序,后序,層序遍歷,并用樹(shù)形方式打印輸出,有詳細(xì)注釋,供C++數(shù)據(jù)結(jié)構(gòu)課程學(xué)習(xí)與交流使用。
代碼片段和文件信息
#include?“stdafx.h“
#include?“stdlib.h“
#include?
#include?
#include?
#include?
using?namespace?std;
struct?BTNode?//二叉樹(shù)節(jié)點(diǎn)結(jié)構(gòu)
{
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?//二叉樹(shù)類
{
private:
BTNode?head;?//?僅左子樹(shù)有效
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)?//根據(jù)字符串(括號(hào)表達(dá)式)初始化二叉樹(shù)的構(gòu)造函數(shù),只支持小寫字母
{
stacknodeStack;?//節(jié)點(diǎn)棧
stackstatusStack;?//狀態(tài)棧
nodeS
評(píng)論
共有 條評(píng)論