C 實現二叉樹之二叉鍊錶

2021-07-03 16:39:07 字數 1259 閱讀 4170

#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 前序...