⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bstree.h

📁 C++描述的数据结构内容,在C++builder的环境中运行,这是第二部分
💻 H
字号:
//二叉搜索树的类定义BSTree.h
template<class T>class BSTree {
 private:
  BSTree<T> *left;//左子树指针
  BSTree<T> *right;//右子树指针
 public:
  T data;//数据域
  //构造函数
  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);
//更新二叉搜索树中的结点值
  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);
//利用数组建立一棵二叉搜索树
  void CreateBSTree(BSTree<T> *&BST,T a[],int n);
//中序遍历输出二叉搜索树中的所有结点
  void Inorder(BSTree<T> *&BST);
//求二叉搜索树的深度
  int BSTreeDepth(BSTree<T> *&BST);
//求二叉搜索树中所有结点数
  int BSTreeCount(BSTree<T> *&BST);
//求二叉搜索树中所有叶子结点数
  int BSTreeLeafCount(BSTree<T> *&BST);
//按照二叉搜索树的广义表表示输出二叉搜索树
  void PrintBSTree(BSTree<T> *&BT);
//清除二叉搜索树,使之变为一棵空树
  void ClearBSTree(BSTree<T> *&BT);
};  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -