#include "stdafx.h"
#include #include using namespace std;
templatestruct treenode
};templateclass binarytree
binarytree() //初始化一顆二叉樹,root指向根結點
~binarytree()
treenode* creatbt(treenode*rt); //建立二叉樹
treenode* getroot(); //取指向二叉樹根結點的指標
void preorder(treenode*rt); //前序遍歷
void midorder(treenode*rt); //中序遍歷
void postorder(treenode*rt); //後序遍歷
void levelorder(); //層序遍歷
void destory(treenode*rt); //銷毀二叉樹
int num_node(treenode*rt); //統計二叉樹結點數
int depth(treenode*rt); //二叉樹深度
private:
treenode*root; //指向根結點的頭指標,需要通過公共成員函式來呼叫
};templatetreenode* binarytree::creatbt(treenode*rt)
return rt;
}templatevoid binarytree::preorder(treenode*rt)
}templatevoid binarytree::midorder(treenode*rt)
}templatevoid binarytree::postorder(treenode*rt)
}templatevoid binarytree::levelorder()
}templatevoid binarytree::destory(treenode*rt)
}templateint binarytree::num_node(treenode*rt)
}templateint binarytree::depth(treenode*rt)
int _tmain(int argc, _tchar* argv)
二叉樹(二叉鍊錶實現)
二叉鍊錶結構的二叉樹模型,棧用自己寫的模版,佇列就不了 直接用stl的,不然 太長了 檔案 tree.h include include includeusing namespace std templateclass my stack templateclass node 結點類 node t d...
二叉鍊錶實現二叉樹
二叉樹的遍歷 前序遍歷,中序遍歷,後序遍歷,層序遍歷 二叉鍊錶的儲存實現 1 定義結構體,儲存二叉樹的結點資料,該結點的左兒子,右兒子。2 每乙個函式都要有乙個對應的私有成員 includeusing namespace std templatestruct binode templateclass...
二叉樹 二叉鍊錶
include using namespace std typedef char elemtype int n 0 typedef struct binode binode class bitree bitree binode getroot void preorder binode root 前序...