35 lines
452 B
Plaintext
35 lines
452 B
Plaintext
Enqueue := function(v, x)
|
|
Add(v[1], x);
|
|
end;
|
|
|
|
Dequeue := function(v)
|
|
if IsEmpty(v[2]) then
|
|
if IsEmpty(v[1]) then
|
|
return fail;
|
|
else
|
|
v[2] := Reversed(v[1]);
|
|
v[1] := [];
|
|
fi;
|
|
fi;
|
|
return Remove(v[2]);
|
|
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
|