本文整理汇总了C++中AdjacencyList::end方法的典型用法代码示例。如果您正苦于以下问题:C++ AdjacencyList::end方法的具体用法?C++ AdjacencyList::end怎么用?C++ AdjacencyList::end使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AdjacencyList
的用法示例。
在下文中一共展示了AdjacencyList::end方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char *argv[]) try {
AdjacencyList adjacency;
int num_nodes = ReadInputOrDie(argc, argv, &adjacency);
std::cout << "Graph read from file: \n";
for (auto begin = adjacency.begin(); begin != adjacency.end(); begin++) {
for (Edge edge : begin->second) {
auto nodes = edge.GetNodes();
//don't print duplicates
if (nodes[1] > nodes[0]) {
edge.Print();
}
}
}
std::cout << "Minimum Spanning Tree:\n";
SpanningTree mst(num_nodes, adjacency);
if (mst.BuildMinSpanningTree()) {
for (Edge edge : *mst.GetOptimalEdgeList()) {
edge.Print();
}
}
std::cout << "MST Weight: " << mst.GetWeight() << "\n";
}
catch (std::exception &e) {
std::cerr << "Error: " << e.what() << "\n";
return -1;
}
catch (...) {
std::cerr << "unknown error\n";
return -1;
}
示例2: getFromList
ConnectivityGraph::EdgeIP ConnectivityGraph::getFromList( VertexID uvxid,
VertexID vvxid, AdjacencyList & edges, ETForestLevel lvl ) const {
EdgeIP e = NULL;
for ( auto rit = edges.end(), rend = edges.begin(); rit != rend; ) {
--rit;
if ( (*rit)->level != lvl ) {
std::cout << "CG ERR: getFromList " << uvxid << "," << vvxid << ": "
<< **rit << ", lvl " << lvl << std::endl;
}
assert( (*rit)->level == lvl );
if ( (*rit)->isequal( uvxid, vvxid ) ) {
e = *rit;
edges.erase( rit );
break;
}
}
return e;
}