Головна‎ > ‎C#‎ > ‎Додатково‎ > ‎Черга‎ > ‎

Черга клас

using System;
using System.Collections.Generic;
using System.Linq;
 
namespace Queue
{
    public class Queue<T>
    {
        private List<T> list = new List<T>();

        public int Count => list.Count; 

        public void Enqueue(T item)
        { 
            list.Add(item);
        }

        public T Dequeue()
        {
            // Взяти елемент з початку черги
            var item = GetItem(); 
            // Видаляємо елемент
            list.Remove(item); 
            return item;
        }

        public T Peek()
        {
            // Беремо елемент з початку черги, але не видаляємо його
            var item = GetItem(); 
            return item;
        }

        private T GetItem()
        {
            // Взяти перший елемент з початку черги
            var item = list.FirstOrDefault();  
            return item;
        }
    }
}