
Data Structure

This illustrates a data structure, a means of storing data within a program.

You may see other such structures in the Data Structures category.
 Illustration of FIFO behavior
Task

Create a queue data structure and demonstrate its operations.

(For implementations of queues, see the FIFO task.)



Operations:

   push       (aka enqueue) - add element
   pop         (aka dequeue) - pop first element
   empty     - return truth value when empty


See also

 Array
 Associative array: Creation, Iteration
 Collections
 Compound data type
 Doubly-linked list: Definition, Element definition, Element insertion, List Traversal, Element Removal
 Linked list
 Queue: Definition, Usage
 Set
 Singly-linked list: Element definition, Element insertion, List Traversal, Element Removal
 Stack


program QueueUsage;
 
{$APPTYPE CONSOLE}
 
uses Generics.Collections;
 
var
  lStringQueue: TQueue<string>;
begin
  lStringQueue := TQueue<string>.Create;
  try
    lStringQueue.Enqueue('First');
    lStringQueue.Enqueue('Second');
    lStringQueue.Enqueue('Third');
 
    Writeln(lStringQueue.Dequeue);
    Writeln(lStringQueue.Dequeue);
    Writeln(lStringQueue.Dequeue);
 
    if lStringQueue.Count = 0 then
      Writeln('Queue is empty.');
  finally
    lStringQueue.Free;
  end
end.