4.8 Maps

C++ dilinde map, anahtar-değer çiftlerini depolamak için kullanılan bir veri yapısıdır. Her bir anahtar (key), benzersizdir ve yalnızca bir kez bulunabilir. Her anahtar, ona karşılık gelen bir değer (value) ile ilişkilendirilir. map, C++ Standard Template Library (STL) içinde yer alır ve genellikle hızlı arama ve erişim gerektiren durumlarda kullanılır.

Map'in Temel Özellikleri

  1. Benzersiz Anahtarlar: Her anahtar yalnızca bir kez kullanılabilir, bu da tekrarlayan anahtarları engeller.

  2. Sıralı Depolama: Anahtarlar otomatik olarak sıralanır. Bu özellik, belirli bir anahtara hızlı erişim sağlar.

  3. Dinamik Boyut: Map, eleman ekledikçe otomatik olarak boyutunu ayarlar.

Map Kullanımı

C++'ta map kullanmak için #include <map> kütüphanesini dahil etmeniz gerekmektedir. Aşağıda map'in temel kullanımına dair örnekler bulunmaktadır.

Map Oluşturma ve Eleman Ekleme

#include <iostream>
#include <map>

int main() {
    // Map oluşturma
    std::map<std::string, int> myMap;

    // Eleman ekleme
    myMap["Alice"] = 25;
    myMap["Bob"] = 30;
    myMap["Charlie"] = 35;

    // Map elemanlarını yazdırma
    std::cout << "Map elemanları:" << std::endl;
    for (const auto& pair : myMap) {
        std::cout << pair.first << ": " << pair.second << std::endl; // Anahtar: Değer
    }

    return 0;
}

Eleman Çıkarma

Map'ten eleman çıkarmak için erase() fonksiyonu kullanılır.

#include <iostream>
#include <map>

int main() {
    // Map oluşturma
    std::map<std::string, int> myMap = {{"Alice", 25}, {"Bob", 30}, {"Charlie", 35}};

    // Eleman çıkarma
    myMap.erase("Bob"); // "Bob" anahtarını çıkar

    // Map elemanlarını yazdırma
    std::cout << "Map elemanları (Bob çıkarıldı):" << std::endl;
    for (const auto& pair : myMap) {
        std::cout << pair.first << ": " << pair.second << std::endl;
    }

    return 0;
}

Eleman Arama

Map içerisinde bir anahtarın var olup olmadığını kontrol etmek için find() fonksiyonu kullanılır.

#include <iostream>
#include <map>

int main() {
    // Map oluşturma
    std::map<std::string, int> myMap = {{"Alice", 25}, {"Bob", 30}, {"Charlie", 35}};

    // Eleman arama
    auto it = myMap.find("Alice");
    if (it != myMap.end()) {
        std::cout << "Alice'ın yaşı: " << it->second << std::endl; // Anahtarın değeri
    } else {
        std::cout << "Alice bulunamadı." << std::endl;
    }

    return 0;
}

Sonuç

C++ Map, anahtar-değer çiftlerini depolamak ve hızlı bir şekilde erişim sağlamak için ideal bir veri yapısıdır. Eleman ekleme, çıkarma ve arama işlemleri oldukça hızlı bir şekilde gerçekleştirilebilir.

Last updated