首先让所有元素指向自己
加入关系就让此元素所在的集合的头指向另一个元素
如果a集合的头等于b集合的头,那么a、b就在一个集合中
优化:如果数据量很大,那么这个集合可能会很长,影响程序运行效率,那么我们只要让所有的数直接指向集合的头就能简化这个结构
void pre()
{
for(int i = 1;i <= MAXN;i++)
a[i] = i;
}
int find(int x)
{
if(a[x] != x)
a[x] = find(a[x]);
return a[x];
}