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
Benzersiz Anahtarlar: Her anahtar yalnızca bir kez kullanılabilir, bu da tekrarlayan anahtarları engeller.
Sıralı Depolama: Anahtarlar otomatik olarak sıralanır. Bu özellik, belirli bir anahtara hızlı erişim sağlar.
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
Was this helpful?