?? bstree.h
字號:
//二叉搜索樹的類定義BSTree.h
template<class T>class BSTree {
private:
BSTree<T> *left;//左子樹指針
BSTree<T> *right;//右子樹指針
public:
T data;//數(shù)據(jù)域
//構(gòu)造函數(shù)
BSTree():left(NULL),right(NULL) { }
BSTree(T item,BSTree<T> *left1=NULL,
BSTree<T> *right1=NULL):data(item),
left(left1),right(right1){ }
BSTree<T> *&Left(){return left;}
BSTree<T> *&Right(){return right;}
//初始化二叉搜索樹,即把樹根指針置空
void InitBSTree(BSTree<T> *&BST);
//判斷二叉搜索樹是否為空
bool BSTreeEmpty(BSTree<T> *&BST);
//從二叉搜索樹中查找元素
bool Find(BSTree<T> *&BST,T item);
//更新二叉搜索樹中的結(jié)點值
bool Update(BSTree<T> *&BST,const T item,T newc);
//向二叉搜索樹中插入元素
void Insert(BSTree<T> *&BST,const T &item);
//從二叉搜索樹中刪除元素
bool Delete(BSTree<T> *&BST,T item);
//利用數(shù)組建立一棵二叉搜索樹
void CreateBSTree(BSTree<T> *&BST,T a[],int n);
//中序遍歷輸出二叉搜索樹中的所有結(jié)點
void Inorder(BSTree<T> *&BST);
//求二叉搜索樹的深度
int BSTreeDepth(BSTree<T> *&BST);
//求二叉搜索樹中所有結(jié)點數(shù)
int BSTreeCount(BSTree<T> *&BST);
//求二叉搜索樹中所有葉子結(jié)點數(shù)
int BSTreeLeafCount(BSTree<T> *&BST);
//按照二叉搜索樹的廣義表表示輸出二叉搜索樹
void PrintBSTree(BSTree<T> *&BT);
//清除二叉搜索樹,使之變?yōu)橐豢每諛? void ClearBSTree(BSTree<T> *&BT);
};
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -