我在这里发现了下面的代码,它是使用邻接矩阵实现Dijkstra算法的C++实现。
//read in edges keeping only the minimum
for(int i=0; i<E; i++) {
int v1,v2,tmp;
fin >> v1; fin >> v2;
fin >> tmp;
adjmat[v1][v2]<?=tmp; // <?= sets left to min(left,right)
adjmat[v2][v1]<?=tmp;
}
请注意最后两行,它们使用运算符<?=
。根据注释,下一行的代码
adjmat[v1][v2]<?=tmp; // <?= sets left to min(left,right)
将把 left
设置为 min(left,right)
。
我以前从未见过这个运算符。我在 VS 中尝试了这段代码,但它无法编译。这是什么?它如何将 left
设置为 min(left,right)
?