Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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);
        }