No description, website, or topics provided.
Perl6
Latest commit edd9c6d Mar 10, 2017 Fernando Correa Add tags on META6.json, as camelia asked
Permalink
Failed to load latest commit information.
lib Fix tests and add peek method Feb 27, 2017
t Fix tests and add peek method Feb 27, 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>}