representative ( a disjoint-set -- p )


Vocabulary
disjoint-sets

Inputs
aan object
disjoint-setan object


Outputs
pan object


Definition

GENERIC: representative ( a disjoint-set -- p )


Methods

M:: disjoint-set representative ( a disjoint-set -- p )
a disjoint-set parents>> at* :> ( p present? ) a p =
[ a ] [
p disjoint-set representative :> root root p =
present? and [ root a disjoint-set set-parent ] unless
root
] if ;