INTERNET
 :
  |    

/

, . /

++.

 
... 15 16 17 18 19 20 21 22 23 24 25 26 27 

return child[i]->data; }

T p;

for(i=0;i<size;i++) //

if(child[i]!=NULL)

{ p=child[i]->Get(pos);

if(p!=NULL) return p; }

return 0; }

void main()

{ Tree<int,5> a; //

a.Add(5); a.Add(11); a.Add(3); a.Add(15); //

int i=a.Get(2); } //

//----------------------------------------------------------------------------

// 8.

// 1.

// 1. .

template <class T> class BTree

{ private:

BTree<T> *l,*r; //

T* data;

public:

void Add(T &a);

BTree();

~BTree(); };

template <class T> void BTree<T>::Add(T &a)

{ if(data==NULL) { data=new T; *data=a; return; } //

if(a>*data)

{ if(r==NULL) r=new BTree<T>; r->Add(a); } else //

{ if(l==NULL) l=new BTree<T>; l->Add(a); } } //

template <class T> BTree<T>::BTree()

{ l=NULL; r=NULL; data=NULL; }//

template <class T> BTree<T>::~BTree()

{ if(data!=NULL) delete data; //

if(l!=NULL) delete l; // -//-

if(r!=NULL) delete r; } // -//-

void main()

{ BTree<long> a; // long-

a.Add(10); a.Add(3); a.Add(210); a.Add(70); }

//----------------------------------------------------------------------------

// 8.

// 1.

// 2. ".

template <class T> class BTree

{ private:

BTree<T> *l,*r; //

T* data;

public:

void Add(T &a);

T& Min();

BTree();

~BTree(); };

template <class T> void BTree<T>::Add(T &a)

{ if(data==NULL) { data=new T; *data=a; return; } //

if(a>*data)

{ if(r==NULL) r=new BTree<T>; r->Add(a); } else //

{ if(l==NULL) l=new BTree<T>; l->Add(a); } } //

template <class T> T& BTree<T>::Min()

{ T* tmp=data,*tmp2;

if(l!=NULL) {tmp2=&l->Min(); if(*tmp2<*tmp) tmp=tmp2;} //

if(r!=NULL) {tmp2=&r->Min(); if(*tmp2<*tmp) tmp=tmp2;} //

return *tmp; }

template <class T> BTree<T>::BTree()

{ l=NULL; r=NULL; data=NULL; }//

template <class T> BTree<T>::~BTree()

{ if(data!=NULL) delete data; //

if(l!=NULL) delete l; // -//-

if(r!=NULL) delete r; } // -//-

void main()

{ BTree<long> a; // long-

a.Add(10); a.Add(3); a.Add(210); a.Add(70);

long k=a.Min(); }

//----------------------------------------------------------------------------

// 8.

// 1.

// 3. ( ).

template <class T> class BTree

{ private:

BTree<T> *l,*r; //

T* data;

public:

void Add(T &a);

void Sort();

BTree();

~BTree(); };

template <class T> void BTree<T>::Add(T &a)

{ if(data==NULL) { data=new T; *data=a; return; } //

if(a>*data)

{ if(r==NULL) r=new BTree<T>; r->Add(a); } else //

{ if(l==NULL) l=new BTree<T>; l->Add(a); } } //

template <class T> void BTree<T>::Sort()

{ if(l!=NULL) l->Sort(); //

if(r!=NULL) r->Sort(); //

if(l!=NULL&&r!=NULL)

if(*l->data>*r->data){ BTree *t=l; l=r; r=t; } }//

template <class T> BTree<T>::BTree()

{ l=NULL; r=NULL; data=NULL; }//

template <class T> BTree<T>::~BTree()

{ if(data!=NULL) delete data; //

if(l!=NULL) delete l; // -//-

if(r!=NULL) delete r; } // -//-

void main()

{ BTree<long> a; // long-

a.Add(10); a.Add(3); a.Add(210); a.Add(70);

a.Sort();}

//----------------------------------------------------------------------------

// 8.

// 1.

// 4. "-

template <class T> class BTree

{ private:

BTree<T> *l,*r; //

T* data;

public:

void Add(T &a);

T* FindBin(T &key);

BTree();

~BTree(); };

template <class T> void BTree<T>::Add(T &a)

{ if(data==NULL) { data=new T; *data=a; return; } //

if(a>*data)

{ if(r==NULL) r=new BTree<T>; r->Add(a); } else //

{ if(l==NULL) l=new BTree<T>; l->Add(a); } } //

template <class T> T* BTree<T>::FindBin(T &key)

{ if(key==*data) return data; T* s=NULL;

if(l!=NULL&&key<*data) s=l->FindBin(key);

if(s!=NULL) return s;

if(r!=NULL&&key>*data) s=r->FindBin(key);

if(s!=NULL) return s;

return NULL; }

template <class T> BTree<T>::BTree()

{ l=NULL; r=NULL; data=NULL; }//

template <class T> BTree<T>::~BTree()

{ if(data!=NULL) delete data; //

if(l!=NULL) delete l; // -//-

if(r!=NULL) delete r; } // -//-

void main()

{ BTree<long> a; // long-

a.Add(10); a.Add(3); a.Add(210); a.Add(70);

long j=*a.FindBin(210);}

//----------------------------------------------------------------------------

// 8.

// 1.

// 5. .

template

 
... 15 16 17 18 19 20 21 22 23 24 25 26 27 


Copyright © 2005—2007 «RefStore.Ru»