No description, website, or topics provided.
Perl6
Switch branches/tags
Nothing to show
Latest commit 8be7f01 Apr 2, 2017 @FCO rebuild
Permalink
Failed to load latest commit information.
lib rebuild Apr 1, 2017
t Add coerce to Numeric Apr 1, 2017
.gitignore Git ignore Sep 15, 2016
.travis.yml Add Travis Sep 15, 2016
META6.json Add tags on META6.json, as camelia asked Mar 10, 2017
README.md Fix sample Sep 16, 2016

README.md

Build Status

Heap

A simple perl6 module implementing the heap data structure.

my Heap $heap .= new: 9, 7, 5, 3, 1;
$heap.push: 8;
say $heap.pop;		# 1
say $heap.pop;		# 3
say $heap.pop;		# 5

say $heap.all		# (7, 8, 9)
my Heap[-*] $heap .= new: <9 7 5 3 1>;
$heap.push: 8;
say $heap.pop;		# 9
say $heap.pop;		# 8
say $heap.pop;		# 7
my Heap[{$^b <=> $^a}] $heap .= new: <9 7 5 3 1>;
$heap.push: 8;
say $heap.pop;		# 9
say $heap.pop;		# 8
say $heap.pop;		# 7
my Heap[*<order>] $heap .= new:
	{:something<ble>, :order<2>},
	{:something<bla>, :order<1>},
	{:something<bli>, :order<3>},
	{:something<blu>, :order<5>},
;
$heap.push: {:something<blo>, :order<4>},
say $heap.pop;		# {:something<bla>, :order<1>}
say $heap.pop;		# {:something<ble>, :order<2>}
say $heap.pop;		# {:something<bli>, :order<3>}