Queue/Definition: Difference between revisions

adding gap
(adding gap)
Line 1,160:
 
end module FIFO</lang>
=={{header|GAP}}==
 
Enqueue := function(v, x)
Add(v[1], x);
end;
 
Dequeue := function(v)
local n, x;
n := Size(v[2]);
if n = 0 then
v[2] := Reversed(v[1]);
v[1] := [ ];
n := Size(v[2]);
if n = 0 then
return fail;
fi;
fi;
return Remove(v[2], n);
end;
 
# a new queue
v := [[], []];
 
Enqueue(v, 3);
Enqueue(v, 4);
Enqueue(v, 5);
Dequeue(v);
# 3
Enqueue(v, 6);
Dequeue(v);
# 4
Dequeue(v);
# 5
Dequeue(v);
# 6
Dequeue(v);
# fail
 
=={{header|Go}}==
Hard coded to be a queue of strings. Implementation is a circular buffer which grows as needed.
Anonymous user