INTERNET
 :
  |    

/

, . /

++.

 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ... 

return sp++; }

template <class T, int size> T *StackSA<T, size>::Pop(void)

{ if(sp==0) return NULL; //

return data[--sp]; }

template <class T, int size> int StackSA<T, size>::Insert(T &element,int num)

{ if(sp==size||num>sp||num<0)

return -1;//

for(int p=++sp;p>num;p--) data[p]=data[p-1];

data[num]=&element;

return sp; }

void main()

{ StackSA<int, 20> s; // 20- int

int a=13,b=5,c=7;

s.Push(a); s.Push(b); //

s.Insert(c,1); //

int *pa=s.Pop(),*pb=s.Pop(),*pc=s.Pop();

}// -

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

// 2.

// 1.

// 6.

template <class T, int size> class StackSA

{ private:

T *data[size]; //

int sp; //-

public:

StackSA();

int Push(T &element); //: [-1]

//,

T *Pop(void); //: [NULL]

T *Exclude(int num); //

}; //: [NULL]

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

{ sp=0; }

template <class T, int size> int StackSA<T, size>::Push(T &element)

{ if(sp==size) return -1; //

data[sp]=&element;

return sp++; }

template <class T, int size> T *StackSA<T, size>::Pop(void)

{ if(sp==0) return NULL; //

return data[--sp]; }

template <class T, int size> T *StackSA<T, size>::Exclude(int num)

{ if(sp==0||num>=sp||num<0)

return NULL;//

T *temp=data[num];

for(int p=num;p<sp-1;p++) data[p]=data[p+1];

sp--;

return temp; }

void main()

{ StackSA<int, 20> s; // 20- int

int a=13,b=5,c=7;

s.Push(a); s.Push(b); s.Push(c); //

int *k=s.Exclude(1); //

int *pa=s.Pop(),*pb=s.Pop(),*pc=s.Pop();

}// -

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

// 2.

// 1.

// 7.

template <class T, int size> class StackSA

{ private:

T *data; //

int sp; //-

public:

StackSA();

int Push(T &element); //: [-1]

//,

T *Pop(void); //: [NULL]

T *operator[](int num); //

}; //: [NULL]

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

{ sp=0; }

template <class T, int size> int StackSA<T, size>::Push(T &element)

{ if(sp==size) return -1; //

data[sp]=element;

return sp++; }

template <class T, int size> T *StackSA<T, size>::Pop(void)

{ if(sp==0) return NULL; //

return &data[--sp]; }

template <class T, int size> T *StackSA<T, size>::operator[](int num)

{ if(sp==0||num>=sp||num<0)

return NULL;//

return &data[num]; }

void main()

{ StackSA<int, 20> s; // 20- int

int a=13,b=5,c=7;

s.Push(a); s.Push(b); s.Push(c); //

int *k=s[1]; //

int *pa=s.Pop(),*pb=s.Pop(),*pc=s.Pop(); }// -

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

// 2.

// 2.

// 1.

template <class T,int size> class StackSA

{ private:

T data[size];

int sp; // ,-

public:

StackSA();

int Push(T element); //: [-1]

//,

T *Pop(void);}; //: [NULL]

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

{ sp=0; }

template <class T,int size> int StackSA<T,size>::Push(T element)

{ if(sp==size) return -1; //

for(int k=0;k<sp&&element<data[k];k++);

for(int p=++sp;p>k;p--) data[p]=data[p-1];

data[k]=element;

return sp; }

template <class T,int size> T *StackSA<T,size>::Pop(void)

{ if(sp==0) return NULL; //

return &data[--sp]; }

void main()

{ StackSA<int,25> s; // 25- int

s.Push(27); s.Push(13); s.Push(19); //

int *pa=s.Pop(),*pb=s.Pop(),*pc=s.Pop();}//

// -

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

// 2.

// 2.

// 2.

template <class T,int size> class StackSA

{ private:

T data[size];

int sp; // ,-

public:

StackSA();

int Push(T element); //: [-1]

//,

T *Pop(void); //: [NULL]

T *FindMin(void); };

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

{ sp=0; }

template <class T,int size> int StackSA<T,size>::Push(T element)

{ if(sp==size) return -1; //

data[sp]=element;

return sp++; }

template <class T,int size> T *StackSA<T,size>::Pop(void)

{ if(sp==0) return NULL; //

return &data[--sp]; }

template <class T,int size>

 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ... 


Copyright © 2005—2007 «RefStore.Ru»