Класс стэка. Все максимально просто. Git
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
namespace _02_FixedStack { class FixedStack<T> { private T[] Items; public int Count { get; set; } public FixedStack(int aCount) { Items = new T[aCount]; Count = 0; } public bool IsEmpty() { return Count == 0; } public void Push(T item) { Items[Count++] = item; } public T Pop() { return Items[--Count]; } } } |
Пример использования
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
namespace _02_FixedStack { class Program { static void Main(string[] args) { FixedStack<int> f = new FixedStack<int>(4); f.Push(1); f.Push(2); f.Push(3); // Console.WriteLine("Count is..." + f.Count); while (f.Count != 0) { Console.WriteLine(f.Pop().ToString()); } Console.WriteLine("Count is..." + f.Count); Console.ReadLine(); } } } |