예제 #1
0
        public SimpleListItem <T> GetItem(int number)
        {
            if ((number < 0) || (number >= this.count))
            {
                //Можно создать собственный класс исключения
                throw new Exception("Выход за границу индекса");
            }

            SimpleListItem <T> current = this.first;
            int i = 0;

            //Пропускаем нужное количество элементов
            while (i < number)
            {
                //Переход к следующему элементу
                current = current.next;
                //Увеличение счетчика
                i++;
            }

            return(current);
        }
예제 #2
0
        public T Pop()
        {
            T Result = default(T);

            if (this.count == 0)
            {
                return(Result);  // если стэк пуст
            }
            if (this.count == 1) // если в стэке один элемент
            {
                Result     = this.first.data;
                this.first = null;
                this.last  = null;
            }
            else // если в стэке больше одного элемента.
            {
                SimpleListItem <T> newLast = GetItem(this.count - 2);
                Result       = newLast.next.data;
                this.last    = newLast;
                newLast.next = null;
            }
            this.count--;
            return(Result);
        }