splay-trees fix
parent
6f6147dcd1
commit
2e89e75c7a
|
@ -46,7 +46,7 @@ DEFER: (splay)
|
||||||
dup splay-node-r [ link-left (splay) ] when
|
dup splay-node-r [ link-left (splay) ] when
|
||||||
] when ;
|
] when ;
|
||||||
|
|
||||||
: (splay) ( left right key node -- )
|
: (splay) ( left right key node -- left right key node )
|
||||||
cmp dup 0 <
|
cmp dup 0 <
|
||||||
[ drop splay-left ] [ 0 > [ splay-right ] when ] if ;
|
[ drop splay-left ] [ 0 > [ splay-right ] when ] if ;
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@ DEFER: (splay)
|
||||||
: (get-splay) ( key tree -- node )
|
: (get-splay) ( key tree -- node )
|
||||||
2dup splay splay-tree-r cmp 0 = [ nip ] [ 2drop f ] if ;
|
2dup splay splay-tree-r cmp 0 = [ nip ] [ 2drop f ] if ;
|
||||||
|
|
||||||
: get-largest
|
: get-largest ( node -- node )
|
||||||
dup [ dup splay-node-r [ nip get-largest ] when* ] when ;
|
dup [ dup splay-node-r [ nip get-largest ] when* ] when ;
|
||||||
|
|
||||||
: splay-largest
|
: splay-largest
|
||||||
|
|
Loading…
Reference in New Issue