Bir std :: map myMap sahip olan harita: Şimdi istediğimstd sıralama :: ı gibi harita değerleri eklerseniz anahtar,</p> <p>Şimdi bir std :: string
std::map <string, string> mymap;
mymap["first"] = "hi";
mymap["third"] = "how r you";
mymap["second"] = "hello";
harita üzerinde yineleme ve sıralanır (tuşları) tarzda değerini yazdırmak için:
map<string, string>::iterator itr;
for(itr = mymap.begin(); itr != mymap.end(); itr++)
{
string newline = itr->second;
cout << newline << endl;
}
Çıktı olmalıdır:
hi
hello
how r you
Ben girişteki veriyorum olarak değil sıralı tuşlar şekilde varsayılan harita mağazalarında tarafından ben çıktıda aynı sırayı alıyorum düşündük. Bunun için sıralama işlevimi sağlamalı mıyım yoksa harita üzerinde yinelemeden önce fazladan bir şeyler yapmalı mıyım? Eğer o tür isterseniz kendin yap zorunda
Döngü için "file_line" değil "mymap" ifadesi kullanılır. Anladığım kadarıyla bu "ilk", "mymap" popülasyonunda alıntılanmamış gerçek kod değildir. – hmjd
C++ std :: map uygulamasından tam olarak emin değilim, ancak bu tür hashtables'ler genellikle sıralanmaz. Bunlar dizinleyiciyle erişilmek isteniyor, geçiş yapılmıyor. – Gigi
@ user983064 std :: map anahtar tarafından sipariş edilen bir ikili ağaçtır. C++ 11, std :: unordered_map gibi karma tablolara sahiptir. – juanchopanza