Реализовать структуру данных "Стек" с помощью односвязного списка.
Стек - структура данных, в которую все элементы помещаются с одного конца
(он называется вершина стека) и удаляются тоже только оттуда, то есть действует
правило "LIFO" ("пришел последним - вышел первым ").
Вам нужно реализовать следующие процедуры и функции:
procedure push(x: integer); - поместить x в стек
function pop: integer; - удалить элемент с вершины стека и вернуть его значение
function top: integer; - только вернуть значение элемента с вершины стека, не удаляя
function size: integer; - вернуть количество элементов в стеке
Ваша программа должна выглядеть так (скопируйте скелет программы в Delphi):
uses stack; //во время отладки закомментируйте
//вставьте сюда код для работы со связным списком
//...
procedure push(x: integer);
//здесь напишите тело процедуры
function pop: integer;
//здесь напишите тело функции
function top: integer;
//здесь напишите тело функции
function size: integer;
//здесь напишите тело функции
begin
Check(push, pop, top, size); //во время отладки закомментируйте
end.
Ваша программа будет проверяться специальной процедурой check из модуля stack, при отправке программы на проверку не забудьте
раскомментировать соответствующие строчки.
|