1
我在Graphchi中编写了一个最短路径代码,并且我想在文件中打印输出。我试图使用示例中显示的模板,但是如果我使用与其他示例相同的方式写入文件,则会出错。 我被困在这里了。作为我想打印的输出(顶点id,它距离源的最小距离)。 我该怎么做。将输出写入Graphchi中的文件
我在Graphchi中编写了一个最短路径代码,并且我想在文件中打印输出。我试图使用示例中显示的模板,但是如果我使用与其他示例相同的方式写入文件,则会出错。 我被困在这里了。作为我想打印的输出(顶点id,它距离源的最小距离)。 我该怎么做。将输出写入Graphchi中的文件
下面是如何将所有顶点的值输出到控制台的示例。将其修改为将输出写入文件很容易。请注意,如果您可以处理二进制文件,GraphChi已经在文件中包含顶点值:.B.vout,其中sizeof(VertexDataType)。
1)您需要定义一个回调函数,这将需要顶点ID和值作为参数
class OutputVertexCallback : public VCallback<VertexDataType> {
public:
virtual void callback(vid_t vertex_id, VertexDataType &value) {
std::cout << vertex_id << "=" << value << std::endl;
}
};
2)然后,你需要调用foreach_vertices()如下得到的输出:
OutputVertexCallback callback;
foreach_vertices<VertexDataType>(filename, 0, engine.num_vertices(), callback);
请提供您的代码和您得到的错误。 –
其实我正在使用其他例子的代码,所以它给了这个错误。我会看看你给的答案,然后回复你! –