#include<iostream>
 using namespace std;
 template<class T>
 struct BinTreeNode{//二叉树结点类
     T data;//数据
     BinTreeNode<T>*leftChild,*rightChild;//左子指针,右子指针
 //    BinTreeNode():leftChild(NULL),rightChild(NULL){}
     BinTreeNode(T x,BinTreeNode<T>*l=NULL,BinTreeNode<T>*r=NULL):data(x),leftChild(l),rightChild(r){}
 };
 template<class T>
 class BinTree{//二叉树类定义
     protected:
     BinTreeNode<T>*root;//二叉树的根指针
     public:
 //    BinTree():root(NULL){}//空构造函数
 //    ???BinTree(T value):root(NULL){}//构造函数
17 //    BinTree(T x,BinTreeNode<T>*lc=NULL,BinTreeNode<T>*rc=NULL){
 //        BinTreeNode<T> rootNode(x,lc,rc);
 //        root=&rootNode;
     }
     ~BinTree(){destroy(root);}//析构函数
     bool IsEmpty(){return root==NULL?true:false;}//判断是否为空树
     void destroy(BinTreeNode<T>*subTree);//删除子树
 };
 template<class T>
 void BinTree<T>::destroy(BinTreeNode<T>*subTree){
     if(subTree!=NULL){
         destroy(subTree->leftChild);//递归删除左子树
         destroy(subTree->rightChild);//递归删除右子树
         delete subTree;
     }
 }
 int main(){

     ;
 }

二叉树BinTree类定义的更多相关文章

  1. Python笔记——类定义

    Python笔记——类定义 一.类定义: class <类名>: <语句> 类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性 如果直接使用类名修改其属 ...

  2. 几种常用的JS类定义方法

    几种常用的JS类定义方法   // 方法1 对象直接量var obj1 = {    v1 : "",    get_v1 : function() {        return ...

  3. Js 类定义的几种方式

    提起面向对象我们就能想到类,对象,封装,继承,多态.在<javaScript高级程序设计>(人民邮电出版社,曹力.张欣译.英文名字是:Professional JavaScript for ...

  4. 为什么C++类定义中,数据成员不能被指定为自身类型,但可以是指向自身类型的指针或引用?为什么在类体内可以定义将静态成员声明为其所属类的类型呢 ?

    static的成员变量,不是存储在Bar实例之中的,因而不会有递归定义的问题. 类声明: class Screen: //Screen类的声明 1 类定义: class Screen{ //Scree ...

  5. C++学了这么多年,你也许不知道为什么类定义要放在.h文件,类实现放在cpp文件。它们如何关联?

    原文  http://blog.csdn.net/ithzhang/article/details/8119286 主题 C++  C++学了这么多年你知道为什么定义类时,类的定义放在.h文件中,而类 ...

  6. YTU 2602: 熟悉题型——类设计( 矩形类定义【C++】)

    2602: 熟悉题型--类设计( 矩形类定义[C++]) 时间限制: 1 Sec  内存限制: 128 MB 提交: 183  解决: 119 题目描述 定义一个矩形类,数据成员包括左下角和右上角坐标 ...

  7. Objective-c 类接口 (@interface) (类定义)

    在Objective-c中如何定义一个类呢?我们可以使用下面的格式进行表示: @interface 类名:父类名{ 变量定义; } 方法定义: @end; 下面给出一个实例: @interface P ...

  8. 只能从脚本中调用在类定义上有[ScriptService]属性的Web服务问题的解决方案

    ajax调用webservice中的接口时, 会出现[只能从脚本中调用在类定义上有[ScriptService]属性的...]的异常. 这是因为, 在.net3.5中, 访问web服务, 要对web服 ...

  9. 开涛spring3(12.4) - 零配置 之 12.4 基于Java类定义Bean配置元数据

    12.4  基于Java类定义Bean配置元数据 12.4.1  概述 基于Java类定义Bean配置元数据,其实就是通过Java类定义Spring配置元数据,且直接消除XML配置文件. 基于Java ...

随机推荐

  1. vue实现PC端调用摄像头拍照人脸录入、移动端调用手机前置摄像头人脸录入、及图片旋转矫正、压缩上传base64格式/文件格式

    进入正题 1. PC端调用摄像头拍照上传base64格式到后台,这个没什么花里胡哨的骚操作,直接看代码 (canvas + video) <template> <div> &l ...

  2. HBase HA分布式集群搭建

    HBase HA分布式集群搭建部署———集群架构 搭建之前建议先学习好HBase基本构架原理:https://www.cnblogs.com/lyywj170403/p/9203012.html 集群 ...

  3. 2019-5-28-VisualStudio-扩展开发

    title author date CreateTime categories VisualStudio 扩展开发 lindexi 2019-05-28 19:51:49 +0800 2018-2-1 ...

  4. Mysql查询结果导出Excel表

    Mysql查询结果导出Excel表: 一句转换方式:$ mysql -uops -p'GCNgH000KP' dtbs -e 'select * from t_proxy__record;' --de ...

  5. 关于discuz论坛邮箱配置

    Discuz后台可以进行邮件设置,实现网站自动发送邮件给用户的邮箱. 在Discuz邮件设置,经常使用25端口普通发送邮件.为了数据安全,我们也可以使用SSL加密发送,设置方法很简单,只需按照下图进行 ...

  6. Redux中间件之redux-thunk使用详解

    Redux的核心概念其实很简单:将需要修改的state都存入到store里,发起一个action用来描述发生了什么,用reducers描述action如何改变state tree .创建store的时 ...

  7. k8s源码编译

    1.可在github上面直接下载源码 2.下载所需要的docker镜像,并打上tag,不知道tag,可以先编译一下,会提示所需image. docker pull index.alauda.cn/xu ...

  8. django之mysql数据库的配置和orm交互

    一:django默认数据库的配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path. ...

  9. word从任意页设置页码

    把所有页都设置页码 首先设置分隔符,下一页 在第二节中,找到插入页码,设置起始页码为1即可

  10. 对Promise的研究3

    Promise.race() Promise.race方法同样是将多个 Promise 实例,包装成一个新的 Promise 实例. const p = Promise.race([p1, p2, p ...