35 lines
1.3 KiB
Factor
35 lines
1.3 KiB
Factor
! Binary Min Heap
|
|
! Copyright 2007 Ryan Murphy
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
|
|
USING: heap test kernel ;
|
|
|
|
{ 1 2 3 4 5 6 } [ 0 left 0 right 1 left 1 right 2 left 2 right ] unit-test
|
|
{ t } [ 5 3 [comp] ] unit-test
|
|
{ V{ } } [ <heap> ] unit-test
|
|
|
|
{ V{ -6 -4 2 1 5 3 2 4 3 7 6 8 3 4 4 6 5 5 } } [ <heap> { 3 5 4 6 7 8 2 4 3 5 6 1 3 2 4 5 -6 -4 } over add-many ] unit-test
|
|
|
|
|
|
|
|
{ V{ "hire" "hose" } } [ V{ "hi" "ho" } V{ "re" "se" } aggregate2 ] unit-test
|
|
{ V{ "hire" "hose" " it" } } [ V{ "hi" "ho" } V{ "re" "se" "it" } aggregate2 ] unit-test
|
|
{ V{ "tracks" "snacks" "crack " } } [ V{ "track" "snack" "crack" } V{ "s" "s" } aggregate2 ] unit-test
|
|
|
|
|
|
|
|
{ V{ " top " "left right" } } [ V{ "left" } V{ "right" } V{ "top" } aggregate3 ] unit-test
|
|
|
|
{ V{ " top "
|
|
" dog "
|
|
"left right"
|
|
"over on "
|
|
" man " } } [ V{ "left" "over" } V{ "right" "on " "man " } V{ "top" "dog" } aggregate3 ] unit-test
|
|
|
|
{ V{ " -6 "
|
|
" -4 2 "
|
|
" 1 5 3 2 "
|
|
" 4 3 7 6 8 3 4 4"
|
|
"6 5 5 " } } [ 0 <heap> { 3 5 4 6 7 8 2 4 3 5 6 1 3 2 4 5 -6 -4 } over add-many (print-heap) ] unit-test
|
|
|
|
{ V{ 5 6 6 7 8 } } [ <heap> { 3 5 4 6 5 7 6 8 } over add-many dup bump dup bump dup bump ] unit-test |