#include <iostream>
int *equivClass, // 等价类数组
n; // 元素个数
void initialize(int numberOfElements)
{// 用每一个类的一个元素,初始化 numberOfElements 个类
n = numberOfElements;
equivClass = new int[n + 1];
for (int e = 1; e <= n; e++)
equivClass[e] = e;
}
void unite(int classA, int classB)
{// 合并类 classA 和 classB
// 假设类 classA != classB
for (int k = 1; k <= n; k++)
if (equivClass[k] = classB)
equivClass[k] = classA;
}
int find(int theElement)
{// 查找具有元素 theElement
return equivClass[theElement];
}
数据结构-程序6-19 使用数组实现的并查集算法
最新推荐文章于 2024-08-21 18:16:36 发布