INTERNET
 :
  |    

/

, . /

++.

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

{ for(int i=0;i<size;i++) child[i]=NULL; data=NULL; }

template <class T,int size> Tree<T,size>::~Tree()

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

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

if(child[i]!=NULL) delete child[i]; }//

template <class T,int size> void Tree<T,size>::Add(T a) //

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

for(int i=0;i<size&&child[i]!=NULL&&a>*child[i]->data;i++);

if(child[i]==NULL) child[i]=new Tree<T,size>;

child[i]->Add(a); }

template <class T,int size> void Tree<T,size>::Sort()

{ for(int i=0;i<size;i++)

if(child[i]!=NULL) child[i]->Sort(); //

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

for(int j=i+1;j<size;j++)

if(child[i]!=NULL&&child[j]!=NULL)

if(*child[j]->data<*child[i]->data) //

{ T* t=child[j]->data;child[j]->data=child[i]->data;

child[i]->data=t; } } //

void main()

{ Tree<int,5> a; //

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

a.Sort(); } //

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

// 7.

// 1.

// 4. -

template <class T,int size> class Tree

{ private:

Tree<T,size> *child[size];

T *data;

public:

Tree();

~Tree();

void Add(T a); //

T* FindBin(T key); }

template <class T,int size> Tree<T,size>::Tree()

{ for(int i=0;i<size;i++) child[i]=NULL; data=NULL; }

template <class T,int size> Tree<T,size>::~Tree()

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

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

if(child[i]!=NULL) delete child[i]; }//

template <class T,int size> void Tree<T,size>::Add(T a) //

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

for(int i=0;i<size&&child[i]!=NULL&&a>*child[i]->data;i++);

if(child[i]==NULL) child[i]=new Tree<T,size>;

child[i]->Add(a); }

template <class T,int size> T* Tree<T,size>::FindBin(T key)

{ T* p;

if (*data==key) return data;//

for(int i=0;i<size&&child[i]!=NULL;i++) //

{ p=child[i]->FindBin(key);

if(p!=NULL) return p; } //

return NULL; } //

void main()

{ Tree<int,5> a; //

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

int j=*a.FindBin(11);}

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

// 7.

// 1.

// 5. .

template <class T,int size> class Tree

{ private:

Tree<T,size> *child[size];

T *data;

public:

Tree();

~Tree();

void Add(T a); //

void Insert(T a,int pos); }; //

template <class T,int size> Tree<T,size>::Tree()

{ for(int i=0;i<size;i++) child[i]=NULL; data=NULL; }

template <class T,int size> Tree<T,size>::~Tree()

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

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

if(child[i]!=NULL) delete child[i]; }//

template <class T,int size> void Tree<T,size>::Add(T a) //

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

for(int i=0;i<size&&child[i]!=NULL&&a>*child[i]->data;i++);

if(child[i]==NULL) child[i]=new Tree<T,size>;

child[i]->Add(a); }

template <class T,int size> void Tree<T,size>::Insert(T a,int pos)

{ if(pos==0) //

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

if(child[0]==NULL) child[0]=new Tree<T,size>;

child[0]->Insert(*data,0); *data=a; return; } //

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

if(child[i]!=NULL)

if(--pos==0) { child[i]->Insert(a,pos); return; }

if(i<size) { child[0]=new Tree<T,size>; child[i]->Insert(a,0); return; }

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

if(child[i]!=NULL)

{ child[i]->Insert(a,pos); } }

void main()

{ Tree<int,5> a; //

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

a.Insert(55,1); } //

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

// 7.

// 1.

// 6. () .

template <class T,int size> class Tree

{ private:

Tree<T,size> *child[size];

T *data;

public:

Tree();

~Tree();

void Add(T a); //

void Delete(int pos);}; //

template <class T,int size> Tree<T,size>::Tree()

{ for(int i=0;i<size;i++) child[i]=NULL; data=NULL; }

template <class T,int size> Tree<T,size>::~Tree()

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

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

if(child[i]!=NULL) delete child[i]; }//

template <class T,int size> void Tree<T,size>::Add(T a) //

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

for(int i=0;i<size&&child[i]!=NULL&&a>*child[i]->data;i++);

if(child[i]==NULL) child[i]=new Tree<T,size>;

child[i]->Add(a); }

template <class T,int size> void Tree<T,size>::Delete(int pos)

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

if(child[i]!=NULL)

if(--pos==0) { delete child[i]->data; child[i]->data=NULL; return; }

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

if(child[i]!=NULL)

{ child[i]->

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


Copyright © 2005—2007 «RefStore.Ru»