int find(int x)//查找x的上一级
{
while(pre[x]!=x)
x=pre[x];
return x;
}
void join(int x,int y)//一级加入另一级
{
int fx=find(x),fy=find(y);
if(fx!=fy)
pre[fx]=fy;
}
int find_pre(int x)//查找结点x的根节点
{
if(pre[x]==x)
return x;
return pre[x]=find_pre(pre[x]);
}
10-12
1931
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)