これが私のコードです
typedef std::pair<unsigned long, unsigned long> link;
std::map<link, double> container;
私がやろうとしているのは、X から Y までの距離を計算し、container.insert(std::make_pair(link, distance)); としてコンテナーに格納することです。そして今、計算全体をやり直すのではなく、Y から X までの距離を計算する必要があるとします。格納されている値をコンテナーから取得します。つまり、リンクと距離です。
私の現在の実装は(X、Y)のみです
std::map<link, double>::iterator It = container.begin();
std::pair<unsigned long, unsigned long> k = link(X,Y);
It = container.find(K);
if(It != container.end()) { distance = It->second; }
else { /* distance = /* complex calc */ container.insert(std::make_pair(k,distance)); }
link(X,Y) と link(Y,X) が同じように扱われるように一般化するにはどうすればよいですか?