Unordered Map ve Unordered Multi Map

 

Unordered map, anahtar ve değer ikililerinden oluşan, bir kümelenmiş konteynırdır. Çiftler sıralı olarak değil; belli bir özelliğe göre kaplarda tutulurlar. Çiftler, anahtarın özelliğine göre hash tablosuna yerleştirilirler.

Unordered multi map’de unordered map gibi çalışır ama aralarında bir fark vardır. Unordered multi maplerde anahtarlar benersiz olmak zorunda değildir. Aynı anahtar birden fazla bulunabilir.

Normal maplarde olduğu gibi unordered maplarda da anahtar değer değiştirilemez.

Örnek:

Bir metindeki kelimelerin metin içinde kaç defa geçtiğini hesaplayan program

#include <fstream>
#include <string>
#include <unordered_map>

int main()
{
    std::unordered_map<std::string, int> frekans;
    std::fstream text("text.txt");

    while(text)
    {
       std::string word;
       text >> word;
       ++frekans[word];
    }

    for(auto iter = frekans.begin(); iter != frekans.end(); ++iter)
    {
        std::cout << iter->first << "  " iter->second << std::endl;
    }
}