Шаг 8.
Динамические структуры данных в языке Prolog.
Вывод элементов стека

    На этом шаге мы рассмотрим как происходит вывод элементов стека.

    Пусть write_stek (L, N) - предикат, реализующий вывод списка L. N - переменная, с помощью которой определим, пуст ли список. Предикат, выполняющий вывод списка, выглядит следующим образом:

     write_stek ([], 0):-
          write ("Стек пустой!!!").
     write_stek ([], 1):-!.
     write_stek ([H|T], _):-
          write (H, "  "),
          write_stek (T, 1).

    Первое предложение является граничным условием: необходимо прекратить вывод в том случае, когда список уже пуст.

    Второе предложение осуществляет вывод головы списка и рекурсивный вызов предиката, выводящего хвост списка. Если второй аргумент 0 - стек пуст, 1 - не пуст.

    На следующем шаге мы приведем общие сведения о деке.




Предыдущий шаг Содержание Следующий шаг