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