本文整理汇总了C++中graph::push_back方法的典型用法代码示例。如果您正苦于以下问题:C++ graph::push_back方法的具体用法?C++ graph::push_back怎么用?C++ graph::push_back使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类graph
的用法示例。
在下文中一共展示了graph::push_back方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: read_adjacency_list
// Read a graph from input in adjacency list form.
void read_adjacency_list( graph& g )
{
for ( std::string line("x"); std::getline(std::cin, line); )
{
g.push_back( neighbors_t() );
std::stringstream s(line);
for ( vertex_id dst; s >> dst; )
g.back()
.push_back( dst );
}
示例2: main
int main(void) {
int n, i, j, d;
for (cin >> n; n; --n) {
g.push_back(vector<int> ());
for (cin >> i >> d; d; --d) {
cin >> j;
g.back().push_back(j);
}
}
cin >> i >> j;
cout << i << " " << j << " " << parcours(i, j) << endl;
return 0;
}
示例3: kruskal
int kruskal(graph& g, int n, graph& mst) {
// sort edges by weight
sort(g.begin(), g.end(), [](const edge& a, const edge& b){ return a.w < b.w; });
// split vertices into n subtrees
vi root(n, 0);
for (int i = 0; i < root.size(); i++) {
root[i] = i;
}
int len = 0;
for (auto& e : g) {
int ru = root_of(e.u, root);
int rv = root_of(e.v, root);
if (ru != rv) {
root[rv] = ru;
len += e.w;
mst.push_back(e);
}
}
return len;
}