Anonymous user
Queue/Usage: Difference between revisions
m
→{{header|REXX}}: added/changed comments, statements, and whitespace, used a template for the output section.
m (→{{header|REXX}}: added/changed comments, statements, and whitespace, used a template for the output section.) |
|||
Line 2,257:
The entries in the stack may be anything, including "nulls".
<lang rexx>/*REXX program demonstrates
say '══════════════════════════════════ Pushing five values to the stack.'
do j=1 for 4 /*a DO loop to PUSH four values.
call push j * 10 /*PUSH (aka: enqueue to the stack).
say 'pushed value:' j * 10 /*echo the pushed value. */
if j\==3 then iterate /*
call push /*PUSH (aka: enqueue to the stack).
say 'pushed a "null" value.' /*echo what was pushed
end /*j*/
say '══════════════════════════════════ Quering the stack (number of entries).'
say queued() ' entries in the stack.'
say '══════════════════════════════════ Popping all values from the stack.'
do
call pop /*POP (aka: dequeue from the stack).*/
say
end /*
say '══════════════════════════════════ The stack is now empty.'
exit /*stick a fork in it, we're all done. */
/*──────────────────────────────────────────────────────────────────────────────────────*/
push: queue arg(1);
pop: procedure; parse pull x; return x /*REXX PULL removes a stack item. */
empty: return queued()==0 /*returns the status of the stack. */</lang>
<pre>
══════════════════════════════════ Pushing five values to the stack.
Line 2,285 ⟶ 2,287:
pushed a "null" value.
pushed value: 40
══════════════════════════════════ Quering the stack (number of entries).
5 entries in the stack.
══════════════════════════════════ Popping all values from the stack.
1: popped value= 10
|