Конструктор для создания бинарного дерева

Конструкторы удобно использовать для создания различных связанных структур, в том числе и бинарных деревьев. Напомним, что бинарным де­ревом называется система объектов, связанных по следующему принципу В вершине иерархии находится один родительский объект, и каждый объ­ект структуры ссылается на два объекта того же типа. В коде при­ веден пример программного кода с определением класса BinTree. Класс содержит конструктор, через который и реализуется процесс создания бинарного дерева. Конструктор вызывается с аргументом целого типа. При этом аргумент конструктора определяет «глубину» (т.е. количество уровней) бинарного дерева.
#include 
using namespace std;
class BinTree{
public:
static int Count;
int m;
BinTree *p1;
BinTree *p2;
BinTree(int n){
if(n==1){
 p1=NULL;
 p2=NULL;}
else{
 p1=new BinTree(n-1);
 p2=new BinTree(n-1);}
m=++Count;
cout << "Object created: " << this << " : " << m;
cout << " -> Number of objects: " << Count << endl;}
~BinTree(){
delete p1;
delete p2;
Count--;
cout << "Object deleted: " << this << " : " << m;
cout << " -> Number of objects: " << Count << endl;}
};
int BinTree::Count;
int main(){
BinTree::Count=0;
BinTree obj1(3);
BinTree *p;
p=new BinTree(2);
delete p;
return 0;}
Онлайн всего: 2
Гостей: 2
Пользователей: 0

STUDLAB Сообщить про опечатку на сайте