#include using namespace std;typedef char elemtype;
int n=0;
typedef struct binode
binode;
class bitree
~bitree()
binode * getroot();
void preorder(binode *root); //前序遍歷遞迴演算法
void preorder2(binode *root); //前序遍歷非遞迴演算法
void inorder(binode *root); //中序遍歷遞迴演算法
void inorder2(binode *root); //中序遍歷非遞迴演算法
void postorder(binode *root); //後序遍歷遞迴演算法
void postorder2(binode *root); //後序遍歷非遞迴演算法
void leverorder(binode *root); //層序遍歷
int depth(binode *root) ; //求深度
void count(binode *root); //求二叉樹的結點個數
private:
binode *root;
binode* creat();
void release(binode *root);
};binode* bitree::getroot( )
void bitree::preorder(binode *root)
}void bitree::preorder2(binode *root)
if (top!= -1) }}
void bitree::inorder (binode *root)//
}void bitree::inorder2(binode *root)
if (top!=-1) //棧非空
}}void bitree::postorder(binode *root)
}void bitree::leverorder(binode *root)}/*
*前置條件:空二叉樹
*輸 入:資料ch;
*功 能:初始化一棵二叉樹,構造函式呼叫
*輸 出:無
*後置條件:產生一棵二叉樹
*/binode* bitree::creat()
return root;
}void bitree::count(binode *root) //n為全域性量並已初始化為0
}int bitree::depth(binode *root) //求二叉樹深度
}void bitree::release(binode *root)
}void main()
二叉樹(二叉鍊錶實現)
二叉鍊錶結構的二叉樹模型,棧用自己寫的模版,佇列就不了 直接用stl的,不然 太長了 檔案 tree.h include include includeusing namespace std templateclass my stack templateclass node 結點類 node t d...
二叉鍊錶儲存二叉樹
鏈式儲存結構 二叉樹的鏈式儲存結構是指,用鍊錶來表示一棵二叉樹,即用鏈來指示元素的邏輯關係。其中,data域存放某結點的資料資訊 lchild與rchild分別存放指向左孩子和右孩子的指標,當左孩子或右孩子不存在時,相應指標域值為空 用符號 或null表示 利用這樣的結點結構表示的二叉樹的鏈式儲存結...
二叉鍊錶實現二叉樹
二叉樹的遍歷 前序遍歷,中序遍歷,後序遍歷,層序遍歷 二叉鍊錶的儲存實現 1 定義結構體,儲存二叉樹的結點資料,該結點的左兒子,右兒子。2 每乙個函式都要有乙個對應的私有成員 includeusing namespace std templatestruct binode templateclass...