/// <summary> /// Удаляет объект из конца очереди <see cref="Deque{T}"/> и возвращает его. /// </summary> /// <returns>Объект, удаляемый из конца очереди <see cref="Deque{T}"/>.</returns> /// <exception cref="InvalidOperationException">Очередь <see cref="Deque{T}"/> является пустой.</exception> public T PopBack() { if (_list.Count <= 0) { throw new InvalidOperationException("Очередь пуста."); } var result = _list._head.Value; _list.Remove(result); return(result); }
/// <summary> /// Удаляет и возвращает объект в начале <see cref="Stack{T}"/>. /// </summary> /// <returns>Объект, удаляемый из начала <see cref="Stack{T}"/>.</returns> /// <exception cref="InvalidOperationException">Стек <see cref="Stack{T}"/> является пустым.</exception> public T Pop() { if (_list.Count <= 0) { throw new InvalidOperationException("Стек пуст."); } var result = _list.First(); _list.Remove(_list.First()); return(result); }