UnionFind/Linux/UnionFindSet.cc

42 lines
697 B
C++

#include "UnionFindSet.hpp"
void TestUnionFindSet_1()
{
Lenyiin::UnionFindSet ufs(10);
ufs.Union(8, 9);
ufs.Union(7, 8);
ufs.Union(6, 7);
ufs.Union(5, 6);
ufs.Union(4, 5);
ufs.Union(3, 4);
ufs.Union(2, 3);
ufs.Union(1, 2);
ufs.Union(0, 1);
ufs.Print();
}
void TestUnionFindSet_2()
{
Lenyiin::UnionFindSet ufs(10);
ufs.Union(0, 1);
ufs.Union(2, 3);
ufs.Union(4, 5);
ufs.Union(6, 7);
ufs.Union(8, 9);
ufs.Union(1, 3);
ufs.Union(5, 7);
ufs.Union(0, 2);
ufs.Union(4, 6);
ufs.Union(0, 4);
ufs.FindRoot(0);
ufs.Print();
}
int main()
{
TestUnionFindSet_1();
TestUnionFindSet_2();
return 0;
}