Uploaded by ameon

Практика «Limited Size Stack» (вар. 1)

advertisement
namespace TodoApplication
{
public class LimitedSizeStack<T>
{
private int range;
private int cou;
private readonly T[] mass;
private readonly int restriction;
public LimitedSizeStack(int size)
{
restriction = size;
mass = new T[size];
range = cou= 0;
}
public void Push(T element)
{
if (range - cou >= restriction) { cou++; }
int residue = range % restriction;
mass[residue] = element;
range++;
}
public T Pop()
{
if (range == cou)
return default(T);
range--;
int residue = range % restriction;
return mass[residue];
}
public int Count
{
get {return range - cou;}
}
}
}
Download