tasks a-s
This commit is contained in:
parent
47bf37c096
commit
b83f433714
12433 changed files with 156208 additions and 123 deletions
29
Task/Priority-queue/Perl-6/priority-queue.pl6
Normal file
29
Task/Priority-queue/Perl-6/priority-queue.pl6
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
class PriorityQueue {
|
||||
has @!tasks is rw;
|
||||
|
||||
method insert ( Int $priority where { $priority >= 0 }, $task ) {
|
||||
@!tasks[$priority] //= [];
|
||||
@!tasks[$priority].push: $task;
|
||||
}
|
||||
|
||||
method get { @!tasks.first({$^_}).shift }
|
||||
|
||||
method is_empty { !?@!tasks.first({$^_}) }
|
||||
}
|
||||
|
||||
my $pq = PriorityQueue.new;
|
||||
|
||||
for (
|
||||
3, 'Clear drains',
|
||||
4, 'Feed cat',
|
||||
5, 'Make tea',
|
||||
9, 'Sleep',
|
||||
3, 'Check email',
|
||||
1, 'Solve RC tasks',
|
||||
9, 'Exercise',
|
||||
2, 'Do taxes'
|
||||
) -> $priority, $task {
|
||||
$pq.insert( $priority, $task );
|
||||
}
|
||||
|
||||
say $pq.get until $pq.is_empty;
|
||||
Loading…
Add table
Add a link
Reference in a new issue