复制二叉树:
//复制二叉树 int Copy(BiTree T, BiTree &NewT){ if(T == NULL){ //若是空树则直接返回0 return 0; }else{ NewT = new BiNode; NewT->data = T->data; Copy(T->lchild, NewT->lchild); Copy(T->rchild, NewT->rchild); } return 1; }
计算二叉树深度:
//计算二叉树深度 int Depth(BiTree T){ if(T == NULL){ //如果是空树,返回0 return 0; }else{ m = Depth(T->lchild); n = Depth(T->rchild); if(m>n){ return (m+1); }else{ return (n+1); } } }
计算二叉树节点总个数:
//计算二叉树节点总个数 int NodeCount(BiTree T){ if(T == NULL){ return 0; }else{ return NodeCount(T->lchild) + NodeCount(T->rchild) + 1; } }