Example #1
0
        public object Pop()
        {
            if (_head == null)
            {
                throw new InvalidOperationException("Стек пуст");
            }
            var oldEl = _head;

            _head = _head.Next;
            return(oldEl.Data);
        }
Example #2
0
        public void Push(object obj)
        {
            //расточительно обертывать каждый элемент в еще один объект, поэтому данная реализация работает медленнее чем стандартная
            var newEl = new MyStackEl
            {
                Data = obj,
                Next = _head
            };

            _head = newEl;
        }