INTERNET
 :
  |    

/

, . /

++.

 
... 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ... 

*a[1]=9; *a[2]=17; //

int i=*a.FindBin(17); } //

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

//4.

//2.

//5. .

template <class T> class DArray

{ private:

int size;

T *data;

public:

DArray(int _size);

~DArray();

T* operator[](int i);};

template <class T> DArray<T>::DArray(int _size)

{ size=_size;

data=(T*) new T[size];

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

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

{ delete [] data; }

template <class T> T* DArray<T>::operator[](int i)

{ if(i<0||i>=size) return NULL;

return &data[i]; }

void main()

{ DArray<int> a(30); // int

*a[4]=6; *a[6]=7; *a[1]=2; //

int i=*a[4]; i=*a[6]; i=*a[1]; } //

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

//4.

//2.

//6. () .

template <class T> class DArray

{ private:

int size;

T *data;

public:

DArray(int _size);

~DArray();

T* operator[](int i);

void Del(int i); };

template <class T> DArray<T>::DArray(int _size)

{ size=_size;

data=(T*) new T[size];

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

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

{ delete [] data; }

template <class T> T* DArray<T>::operator[](int i)

{ if(i<0||i>=size) return NULL;

return &data[i]; }

template <class T> void DArray<T>::Del(int i)

{ if(i<0||i>=size) return;

data[i]=0; }

void main()

{ DArray<int> a(30); // int

*a[0]=500; *a[1]=98; *a[2]=17; //

a.Del(0); a.Del(1); a.Del(2); } //

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

//4.

//2.

//7. .

template <class T> class DArray

{ private:

int size;

T *data;

public:

DArray(int _size);

~DArray();

T* operator[](int i); };

template <class T> DArray<T>::DArray(int _size)

{ size=_size;

data=(T*) new T[size];

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

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

{ delete [] data; }

template <class T> T* DArray<T>::operator[](int i)

{ if(i<0||i>=size) return NULL;

return &data[i]; }

void main()

{ DArray<int> a(20); // int

*a[4]=6; *a[6]=7; *a[1]=2; //

int i=*a[4]; i=*a[6]; i=*a[1]; } //

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

// 5.

// 1.

// 1. .

template <class T> class List

{ private:

List<T> *next;

T *data;

public:

List(T a);

~List();

void Add(T a); }; //

template <class T> List<T>::List(T a)

{ next=NULL; data=new T; *data=a; }//

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

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

template <class T> void List<T>::Add(T a) //

{ if(next==NULL) //

{ if(a>*data) next=new List<T>(a); else

{ next=new List<T>(*data);

*data=a; } } else

{ if(a<*data) //

{ next->Add(*data); // ()

*data=a; } else

if(a>*data&&a<*next->data) //

{ List<T> *p=next;

next=new List<T>(a); //

next->next=p; } else

next->Add(a); } } // ()

void main()

{ List<int> a(10); //

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

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

// 5.

// 1.

// 2. .

template <class T> class List

{ private:

List<T> *next;

T *data;

public:

List(T a);

~List();

T *FindMin(); //

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

template <class T> List<T>::List(T a)

{ next=NULL; data=new T; *data=a; }//

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

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

template <class T> T* List<T>::FindMin()

{ T* tmp=data; //

List<T> *p=this->next;

while(p!=NULL) //

{ if(*p->data<*tmp) tmp=p->data; // -

p=p->next; }

return tmp; } //

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

{ List<T> *p=this,*q;

while(pos-->0&&p->next!=NULL) p=p->next; //

q=p->next;

p->next=new List<T>(*p->data); //

*p->data=a; //

p->next->next=q; } //

void main()

{ List<int> a(10); //

a.Insert(15,1); a.Insert(4,2); a.Insert(7,3);//

int k=*a.FindMin(); } //

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

// 5.

// 1.

// 3. ( ).

 
... 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ... 


Copyright © 2005—2007 «RefStore.Ru»