Реализовать Generics очередь - C#
Формулировка задачи:
Реализовать обобщенную (Generics) структуру данных «очередь», позволяющую хранить объекты (ссылочные переменные). Стандартные классы-коллекции .NET не использовать, в качестве внутренней структуры для хранения данных использовать исключительно массивы.
Помогите плиз. Очень надо
Решение задачи: «Реализовать Generics очередь»
textual
Листинг программы
class SimpleQueue<T> where T : class { private const int _capasityIncrease = 5; private T[] _array; private int _count; private int _head; private int _tail; public int Count { get { return _count; } } public SimpleQueue() { _array = new T[5]; _count = 0; _head = 0; _tail = 0; } public void Enqueue(T item) { if (_tail >= _array.Length) { Array.Resize(ref _array, _array.Length + _capasityIncrease); } _array[_tail] = item; _count++; _tail++; } public T Dequeue() { if (_count == 0) { throw new InvalidOperationException("Очередь пуста"); } T item = _array[_head]; _array[_head] = null; _head++; _count--; return item; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д