union method
void
union(
- T x,
- T y
Unites the sets containing x and y using union by rank.
Implementation
void union(T x, T y) {
add(x);
add(y);
final rootX = find(x);
final rootY = find(y);
if (rootX == rootY) return;
final rankX = _rank[rootX]!;
final rankY = _rank[rootY]!;
if (rankX < rankY) {
_parent[rootX] = rootY;
} else if (rankX > rankY) {
_parent[rootY] = rootX;
} else {
_parent[rootY] = rootX;
_rank[rootX] = rankX + 1;
}
}