/** * toEdgeList() - converts graph (adjacency list) to edge list * @param g - edge list for this graph */ void AdjList::toEdgeList(EdgeList &g) { g.maxVertexNum = maxVertexNum; g.infinity = infinity; g.directed = directed; for (unsigned i = 0; i < G.size(); ++i) { for (int j = 0; j < G[i].size(); ++j) { if (!directed && i < G[i][j].second) g.addEdge(Edge(i, G[i][j].second, G[i][j].first), false); else if (directed) g.addEdge(Edge(i, G[i][j].second, G[i][j].first), false); } } }