Using arrays as Stacks (LIFO) and Queues (FIFO)
// Using arrays as Stacks (LIFO) and Queues (FIFO)
// Stack (Last-In, First-Out)
var stack: array of String;
PrintLn('--- Stack ---');
stack.Add('First');
stack.Add('Second');
stack.Add('Third');
while stack.Length > 0 do begin
var top := stack[High(stack)];
PrintLn('Popping: ' + top);
stack.Delete(High(stack));
end;
// Queue (First-In, First-Out)
var queue: array of String;
PrintLn('--- Queue ---');
queue.Add('Patient A');
queue.Add('Patient B');
queue.Add('Patient C');
while queue.Length > 0 do begin
var front := queue[0];
PrintLn('Serving: ' + front);
queue.Delete(0);
end;
--- Stack --- Popping: Third Popping: Second Popping: First --- Queue --- Serving: Patient A Serving: Patient B Serving: Patient C