@Codewzs
2019-04-14T08:28:44.000000Z
字数 282
阅读 736
C++模板
struct bcj
{
int father[100010];
void start(int n)//初始化
{for(int i=0;i<=n;i++)father[i]=i;}
int find(int x)//寻找父亲
{if(father[x]!=x)father[x]=find(father[x]);return father[x];}
void unionn(int x,int y)//合并
{x=find(x);y=find(y);if(x!=y)father[y]=x;}
};
使用方法:
bcj uf;
uf.start(...);
uf.unionn(...,...);