using System;
public class StackWithArray: Stack{
private Object[] elements;
private int nextPush;
private int MaxSize;
public StackWithArray(int MaxSize){
elements = new Object[MaxSize];
nextPush = 0;
this.MaxSize = MaxSize;
}
public override void Push(Object el){
if (!Full){
elements[nextPush] = el;
nextPush++;
}
}
public override void Pop(){
if (!Empty)
nextPush--;
}
public override Object Top{
get{
if (!Empty)
return elements[nextPush-1];
else return "not possible";}
}
public override bool Full{
get{return nextPush >= MaxSize;}
}
public override bool Empty{
get{return nextPush == 0;}
}
public override int Size{
get{return nextPush;}
}
public override String ToString(){
string res = "Stack: ";
for(int i = 0; i < nextPush; i++){
res += elements[i] + " ";}
return res;
}
} |