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}}== |