#include "BinaryNode.h" long BinaryNode::size(BinaryNode *t) { //recursive if (t == NULL) return 0; else return 1 + size(t->left) + size(t->right); } int BinaryNode::height(BinaryNode *t) { //recursive if (t == NULL) return -1; else { int hlf = height(t->left), hrt = height(t->right); return (hlf > hrt) ? 1+hlf : 1+hrt; // 1+max(hlf,hrt) } } BinaryNode *BinaryNode::copy( ) { // recursive BinaryNode *root = new BinaryNode(key); if (left != NULL) root->left = left->copy(); if (right != NULL) root->right = right->copy(); return root; }