
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


 
MODULE UseQueue;
IMPORT
  Queue,
  Boxes,
  StdLog;
 
PROCEDURE Do*;
VAR
  q: Queue.Instance;
  b: Boxes.Box;
BEGIN
  q := Queue.New(10);
  q.Push(Boxes.NewInteger(1));
  q.Push(Boxes.NewInteger(2));
  q.Push(Boxes.NewInteger(3));
  b := q.Pop();
  b := q.Pop();
  q.Push(Boxes.NewInteger(4));
  b := q.Pop();
  b := q.Pop();
  StdLog.String("Is empty:> ");StdLog.Bool(q.IsEmpty());StdLog.Ln
END Do;
END UseQueue.
 