本文整理汇总了C++中Vertices::erase方法的典型用法代码示例。如果您正苦于以下问题:C++ Vertices::erase方法的具体用法?C++ Vertices::erase怎么用?C++ Vertices::erase使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Vertices
的用法示例。
在下文中一共展示了Vertices::erase方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: isConnected
bool Graph::isConnected (Vertices *V)
{
Vertices *nextVertices = new Vertices();
int reachedsize = 1;
bool first = true;
for (Vertices::iterator it = V->begin(); it != V->end(); ++it)
{
int v = *it;
if (first)
{
nextVertices->insert(v);
reachedVertices[v] = true;
first = false;
}
else { reachedVertices[v] = false; }
}
while (!nextVertices->empty())
{
Vertices::iterator it = nextVertices->end(); --it;
int currentVertex = *it;
nextVertices->erase(it);
Vertices *adjList = adjacencySets[currentVertex];
for (Vertices::iterator it = adjList->begin(); it != adjList->end(); ++it) {
int adjV = *it;
if (V->find(adjV) != V->end())
{
if (!reachedVertices[adjV]) {
reachedVertices[adjV] = true;
reachedsize++;
nextVertices->insert(adjV);
}
}
}
}
delete nextVertices;
return reachedsize == (int) V->size();
}