Overview

Array Stacks Queues

Using arrays as Stacks (LIFO) and Queues (FIFO)

Source Code

// 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;

Result

--- Stack ---
Popping: Third
Popping: Second
Popping: First
--- Queue ---
Serving: Patient A
Serving: Patient B
Serving: Patient C
On this page