Priority queue: Difference between revisions

Content added Content deleted
(Add SenseTalk implementation)
(Added Quackery.)
Line 5,204: Line 5,204:


>>> </lang>
>>> </lang>


=={{header|Quackery}}==

The task [[Sorting algorithms/Heapsort#Quackery]] implements a priority queue. Here we reuse the words <code>comparison</code>, <code>toheap</code>, and <code>fromheap</code> from that task and adapt them to this task. <code>p</code> in the stack comments denotes a priority queue.

<lang Quackery> [ ' [ 0 peek swap
0 peek > ]
comparison put
[] ] is new-pq ( --> p )

[ nested join toheap ] is insert ( p n $ --> p )

[ fromheap 1 peek ] is remove ( p --> p $ )

[ drop comparison release ] is end-pq ( p --> )

new-pq
3 $ "Clear drains" insert
4 $ "Feed cat" insert
5 $ "Make tea" insert
1 $ "Solve RC tasks" insert
2 $ "Tax return" insert
5 times [ remove echo$ cr ]
end-pq</lang>

{{out}}

<pre>Solve RC tasks
Tax return
Clear drains
Feed cat
Make tea
</pre>


=={{header|R}}==
=={{header|R}}==