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