Overview

Stacks & Queues

Illustrates implementing common data structures using dynamic arrays. This example demonstrates LIFO (Stack) patterns using 'High' and 'Delete', and FIFO (Queue) patterns by adding elements and deleting from index 0.

Source Code

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