How to resolve the algorithm Queue/Usage step by step in the PL/I programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Queue/Usage step by step in the PL/I programming language

Table of Contents

Problem Statement

Create a queue data structure and demonstrate its operations. (For implementations of queues, see the FIFO task.)

Operations:

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Queue/Usage step by step in the PL/I programming language

Source code in the pl/i programming language

test: proc options (main);


   /* To implement a queue. */
   define structure
      1 node,
         2 value fixed,
         2 link handle(node);
   declare (head, tail, t) handle (node);
   declare null builtin;
   declare i fixed binary;

   head, tail = bind(:node, null:);

   do i = 1 to 10; /* Add ten items to the tail of the queue. */
      if head = bind(:node, null:) then
         do;
            head,tail = new(:node:);
            get list (head => value);
            put skip list (head => value);
            head => link = bind(:node, null:); /* A NULL link */
         end;
      else
         do;
            t = new(:node:);
            tail => link = t; /* Point the tail to the new node. */
            tail = t;
            tail => link = bind(:node, null:); /* Set the tail link to NULL */
            get list (tail => value) copy;
            put skip list (tail => value);
         end;
   end;

   /* Pop all the items in the queue. */
   put skip list ('The queue has:');
   do while (head ^= bind(:node, null:));
      put skip list (head => value);
      head = head => link;
   end;
end test;

       1 
       3 
       5 
       7 
       9 
      11 
      13 
      15 
      17 
      19 
The queue has: 
       1 
       3 
       5 
       7 
       9 
      11 
      13 
      15 
      17 
      19


  

You may also check:How to resolve the algorithm Higher-order functions step by step in the PL/I programming language
You may also check:How to resolve the algorithm Loops/While step by step in the PL/I programming language
You may also check:How to resolve the algorithm Power set step by step in the PL/I programming language
You may also check:How to resolve the algorithm ABC problem step by step in the PL/I programming language
You may also check:How to resolve the algorithm Vector step by step in the PL/I programming language