事前にこの質問をご覧いただきありがとうございます。
次のアイテムのリストを注文しようとしています。
Bpgvjdfj,Bvfbyfzc
Zjmvxouu,Fsmotsaa
Xocbwmnd,Fcdlnmhb
Fsmotsaa,Zexyegma
Bvfbyfzc,Qkignteu
Uysmwjdb,Wzujllbk
Fwhbryyz,Byoifnrp
Klqljfrk,Bpgvjdfj
Qkignteu,Wgqtalnh
Wgqtalnh,Coyuhnbx
Sgtgyldw,Fwhbryyz
Coyuhnbx,Zjmvxouu
Zvjxfwkx,Sgtgyldw
Czeagvnj,Uysmwjdb
Oljgjisa,Dffkuztu
Zexyegma,Zvjxfwkx
Fcdlnmhb,Klqljfrk
Wzujllbk,Oljgjisa
Byoifnrp,Czeagvnj
次の順序に:
Bpgvjdfj
Bvfbyfzc
Qkignteu
Wgqtalnh
Coyuhnbx
Zjmvxouu
Fsmotsaa
Zexyegma
Zvjxfwkx
Sgtgyldw
Fwhbryyz
Byoifnrp
Czeagvnj
Uysmwjdb
Wzujllbk
Oljgjisa
Dffkuztu
これは次の方法で行われます。
- 最初のペアを取り、名前をリストに入れる
- ペアの2番目の名前を使用して、それが1番目の名前として使用されているペアを見つけます
- そのペアの2番目の名前をリストに追加します
- 2と3を繰り返す
unordered_mapにペアを入力してから、各名前を並べ替えてリストに追加しています。これは、次のコードで確認できます。
westIter = westMap.begin();
std::string westCurrent = westIter->second;
westList.push_front(westCurrent);
for(int i = 0; i < 30; i++)
{
if(westMap.find(westCurrent) != westMap.end())
{
//find pair in map where first iterator is equal to "westCurrent"
//append second iterator of pair to list
}
westIter++;
}
注:最初の値しか挿入されていないため、現時点で「push_front」が正しいかどうかはわかりません。
私の質問は、誰かが私がこれについてどうやって行くことができるかについて私にいくつかの洞察を与えることができるかということです。私は最善の方法と私の考えが正しいかどうかわからないので。任意の洞察をいただければ幸いです。