Создать процедуры для добавления элемента в список (стек, очередь), вывода содержимого...

0 голосов
86 просмотров

Создать процедуры для добавления элемента в список (стек, очередь), вывода содержимого списка (стек, очередь) на экран.


Информатика (14 баллов) | 86 просмотров
Дан 1 ответ
0 голосов
Для стека:
const
  MAX_SIZE = 100;
var
  size, n: integer;
  stack: array[1..MAX_SIZE] of integer;

procedure push(a: integer);
begin
  inc(size);
  stack[size] := a;
end;

procedure view;
var
  i: integer;
begin
  for i := 1 to size do
    write(stack[i], ' ');
  writeln;
end;

Для очереди:
const
  MAX_SIZE = 100;
var
  head, tail: integer;
  queue: array[1..MAX_SIZE] of integer;

procedure push(a: integer);
begin
  queue[tail] := a;
  inc(tail);
end;

procedure view;
var
  i: integer;
begin
  for i := head to tail - 1 do
    write(queue[i], ' ');
  writeln;
end;

И стек и очередь реализованы с помощью массива. Нужно следить, чтобы размер структуры не был больше размера массива
(13.3k баллов)