【发布时间】:2015-12-03 15:44:53
【问题描述】:
在我的项目中,我使用一个文件来存储所有边;另一个存储边缘概率。我想将Boost 库用于图形,unordered_map 用于概率。我有以下代码。
typedef boost::adjacency_list <boost::vecS, boost::vecS, boost::bidirectionalS> DiGraph;
typedef boost::graph_traits<SubGraph>::vertex_descriptor vertex_t;
typedef boost::graph_traits<SubGraph>::edge_descriptor edge_t;
unordered_map<edge_t, double> P;
ifstream infile(prob_filename);
double p;
int u, v;
while (infile >> u >> v >> p) {
P[make_pair(u, v)] = p;
}
但是,我不需要将一对作为键,而是将边缘描述符 edge_t。如何使用给定的两个值 u 和 v 创建边缘描述符。
【问题讨论】: