Queue/Usage: Difference between revisions
Content added Content deleted
Thundergnat (talk | contribs) m (Fix Perl 6 -> Raku in comments) |
(Added Wren) |
||
Line 2,569: | Line 2,569: | ||
len q |
len q |
||
=> 1</pre> |
=> 1</pre> |
||
=={{header|Wren}}== |
|||
<lang ecmascript>class Queue { |
|||
construct new() { _queue = [] } |
|||
count { _queue.count } |
|||
isEmpty { count == 0 } |
|||
clear() { _queue.clear() } |
|||
peek { (!isEmpty) ? _queue[0] : null } |
|||
push(item) { _queue.add(item) } |
|||
pop() { |
|||
var item = peek |
|||
if (item != null) { |
|||
_queue.removeAt(0) |
|||
} |
|||
return item |
|||
} |
|||
toList { _queue[0..-1] } |
|||
} |
|||
var q = Queue.new() |
|||
q.push(1) |
|||
q.push(2) |
|||
System.print("Queue contains %(q.toList)") |
|||
System.print("Number of elements in queue = %(q.count)") |
|||
var item = q.pop() |
|||
System.print("'%(item)' popped from the queue") |
|||
System.print("First element is now %(q.peek)") |
|||
q.clear() |
|||
System.print("Queue cleared") |
|||
System.print("Is queue now empty? %((q.isEmpty) ? "yes" : "no")")</lang> |
|||
{{out}} |
|||
<pre> |
|||
Queue contains [1, 2] |
|||
Number of elements in queue = 2 |
|||
'1' popped from the queue |
|||
First element is now 2 |
|||
Queue cleared |
|||
Is queue now empty? yes |
|||
</pre> |
|||
=={{header|XPL0}}== |
=={{header|XPL0}}== |