INTERNET
 :
  |    

/

, . /

++.

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

size> T *StackSA<T,size>::FindMin(void)

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

int min=data[0];

for(int k=1;k<sp;k++) if(data[k]<data[min]) min=k; // .

return &data[min]; }

void main()

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

s.Push(55); s.Push(11); s.Push(33); //

int *m=s.FindMin(); } // .

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

// 2.

// 2.

// 3. ( )

template <class T,int size> class StackSA

{ private:

T data[size];

int sp; // ,-

public:

StackSA();

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

//,

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

void Sort(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> void StackSA<T,size>::Sort(void)

{ for(int i=0;i<sp-1;i++)

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

if(data[j]>data[i])

{ T temp=data[j];data[j]=data[i];data[i]=temp; } } //

void main()

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

s.Push(35); s.Push(17); s.Push(29); //

s.Sort();

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

// -

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

// 2.

// 2.

// 4.

template <class T,int size> class StackSA

{ private:

T data[size];

int sp; //-

public:

StackSA();

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

//,

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

void Sort(void);

T *FindBin(T key); }; //

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> void StackSA<T,size>::Sort(void)

{ for(int i=0;i<sp-1;i++)

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

if(data[j]>data[i])

{ T temp=data[j];data[j]=data[i];data[i]=temp; } } //

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

{ int a=0,b=sp-1; //,

while(a<=b)

{ int m=(a+b)/2; //

if(data[m]==key) return &data[m]; //

if(data[m]>key) a=m+1; //

else b=m-1; }//

return NULL; } //

void main()

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

s.Push(78); s.Push(10); s.Push(5); //

s.Sort(); int *k=s.FindBin(78); } //

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

// 2.

// 2.

// 5.

template <class T,int size> class StackSA

{ private:

T data[size];

int sp; // ,-

public:

StackSA();

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

//,

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

int Insert(T element,int num); //

//: [-1]

//,

};

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> 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

s.Push(99); s.Push(45); //

s.Insert(33,1); //

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

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

// 2.

// 2.

// 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]

void 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; //

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


Copyright © 2005—2007 «RefStore.Ru»