АВТ
Language:

Remote Training on Programming

Problems On-line status Contests FAQ
For authors:
Register  ||  Login
 
Hello, Guest! Login or register.

863. Queue

Time Limit: 1 seconds
Memory Limit:2000KB
Points:2
View Problem Statistics Submit Problem added Administrator


Реализовать структуру данных "Очередь" с помощью односвязного списка. 
Очередь - структура данных,  в которую все элементы помещаются в конец, 
а удаляются с начала, то есть действует правило "FIFO" 
("первым пришел - первым вышел"). 

Нужно реализовать следующие процедуры и функции:
procedure enqueue(x: integer); - поместить x в очередь
function dequeue: integer; - удалить элемент из начала очереди и вернуть его значение
function first: integer; - тольео вернуть значение элемента из начала очереди, не удаляя
function size: integer; - вернуть количество элементов в очереди

Ваша программа должна выглядеть так (скопируйте скелет программы в Delphi):

uses queue; //во время отладки закомментируйте

//вставьте сюда код для работы со связным списком
//...

procedure enqueue(x: integer);
//здесь напишите тело процедуры

function dequeue: integer;
//здесь напишите тело функции 

function first: integer;
//здесь напишите тело функции 

function size: integer;
//здесь напишите тело функции 

begin
  Check(@enqueue,@dequeue,@first,@size); //во время отладки закомментируйте
end.

Ваша программа будет проверяться специальной процедурой check из модуля queue, при отправке программы на проверку не забудьте раскомментировать соответствующие строчки.

View Problem Statistics Submit Author/source:
Sorted Problems / Dynamic Data Structures /
24. One-Line Editor 863. 1063. RMQ 862. Stack 42. Who is Last
We can all benefit by doing occasional "toy" programs, when artificial restrictions are set up, so that we are forced to push our abilities to the limit. The art of tackling miniproblems with all our energy will sharpen our talents for the real problems. Donald E. Knuth.
time generating 0.593 sec.
© Copyright VSTU, AVT, Nosov D.A.