集合的合并问题
else if (nodeAInSetLabel != -1 && nodeBInSetLabel != -1 && nodeAInSetLabel != nodeBInSetLabel) //AB都在集合中,但不属于同一集合
{
if (nodeAInSetLabel > nodeBInSetLabel)
{
int temp = nodeAInSetLabel;
nodeAInSetLabel = nodeBInSetLabel;
nodeBInSetLabel = temp;
}
mergeNodeSet(nodeSets[nodeAInSetLabel], nodeSets[nodeBInSetLabel]); //将B集合合并到A集合中
for (int k = nodeBInSetLabel; k < (int)nodeSets.size() - 1; k++) //销毁B集合
{
nodeSets[k] = nodeSets[k + 1]; //B集合后集合都向前移动一个位置
}
}