int *E;
void Initialize(int n)
{
E=new int[n+1];
for(int i=1;i<=n;i++)
E(i)=i;
}
void Union(int i, int j)
{
for(int k=1;k<=n;k++)
if(E(k)==j)
E(k)=i;
}
int Find(int i)
{
return E(i);
}
void main()
{
int i,j;
i=Find(a);
j=Find(b);
if(i!=j)
Union(i,j);
}
Ref: <<数据结构,算法与应用>>P117~121