sub heap_lt { $_[1] < $_[2] };
sub key_lt { $_[1] lt $_[2] };
sub key_gt { $_[1] gt $_[2] };
####
package Algorithm::Treap;
sub import { goto &Treap::import }
1;
package Treap;
#...
##
##
use Algorithm::Treap;
my $default=Treap->Tied_Hash(A => 121, B => 674, C => 970, D => 82, E => 658, F => 957);
$default->{D}=600;
$default->{A}=500;
##
##
use Algorithm::Treap;
my $rand=Random::Treap->Tied_Hash();
$rand->{ja}="just another\n";
$rand->{ph}="perl hacker\n";
##
##
use Algorithm::Treap IntKey =>
#DEBUG=>1,
key_lt => '$1 < $2',
key_gt => '$1 > $2',
heap_lt => '$1 < $2',
;
my $inttreap=Treap::IntKey->Tied_Hash();
$inttreap->{1}=10;
$inttreap->{2}=5;
$inttreap->{10}=5;
print join(", ",keys %$inttreap),"\n";
##
##
tied(%$default)->dump_tree;
##
##
A=500-
+--------------------+
-D=600-
+-------------+------+
B=674- E=658-
+------+ +------+
C=970 F=957