public T Dequeue() { if (IsEmpty) { throw new ArgumentException("Queue is empty"); } var value = head.Value; head = head.Next; return(value); }
public void Enqueue(T value) { if (IsEmpty) { head = new LinkedListQueueNode <T> { Value = value }; tail = head; } else { tail.Next = new LinkedListQueueNode <T> { Value = value }; tail = tail.Next; } }