我正在编写一个实现Dijkstra算法的程序,并决定使用 Map 对象来保存顶点( Map 键)和连接的顶点与路径距离( Map 值)配对 . 连接的顶点与坐标对之间的距离配对 . 示例文本文件输入如下:

1 2,3 3,2
2 4,4
3 2,1 4,2 5,3
4 5,2 6,1
5 6,2
6 1,9

每行中的第一个数字将作为键读入,其中坐标对将被读入初始化为保持对的向量 .

我尝试使用>>带逗号的假人,其中a和b是坐标,如:

for(myfile >> key >> a >> dummy >> b){
    //assignment to map here
}

但这似乎不起作用,因为一行中可以有多个坐标对 .

我该怎么做?我是C的新手,文件仍然有点令人难以置信,任何帮助或正确方向的几个步骤都会很棒 .