Решаем задачи Абрамян на Паскале. Pointer12

Pointer12. Дан указатель $$P_1$$ на вершину стека, содержащего не менее пяти элементов. Используя тип TStack (см. задание Pointer11), описать функцию Pop ($$S$$) целого типа, которая извлекает из стека $$S$$ первый (верхний) элемент, возвращает его значение и освобождает память, которую занимал извлеченный элемент ($$S$$ — входной и выходной параметр типа TStack) . С помощью функции Pop извлечь из исходного стека пять элементов и вывести их значения. Вывести также указатель на новую вершину стека (если результирующий стек окажется пустым, то этот указатель должен быть равен $$nil$$).

Решение:

 

Другие задачи из раздела Pointer можно посмотреть здесь.

Комментарии:

Комментарии 1

  • Решение для задачника PT4:

    Решение с заполнением стека P1:

    Дополнительная проверка в цикле if S.Top = nil then break связана с тем, что при числе элементов N стека меньше 5, функция Pop(S) будет возвращать 0 5-N раз. В данной задаче заранее известно, что число элементов стека не меньше 5. Поэтому тут можно было обойтись и без этой проверки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *