std::map
- C++ kursu
- Orta seviye
- Ders 55/116
- 5 dk
std::map ile sıralı anahtar-değer koleksiyonunu öğrenirsin.
std::map
std::map, anahtar-değer çiftlerini anahtara göre sıralı tutar. İç yapısı kırmızı-siyah ağaçtır (red-black tree). Ekleme ve erişim O(log n)'dir. m[key] = value ile ekler veya güncellersin.
Örnek: std::map<std::string, int> m; m["apple"] = 3; m["pear"] = 5;. Şimdi m.size() 2 döndürür. m["apple"] 3 verir. Anahtarlar sıralıdır; iteration apple, pear sırasını verir. std::string anahtarlar alfabetik sıralanır.
map insertion
m[key] = value anahtar varsa değeri günceller, yoksa yeni çift ekler. m.count(key) anahtar varsa 1, yoksa 0 döndürür.
Örnek: m["apple"] = 3; ekler. Sonra m["apple"] = 10; yazarsan değer 10 olur; yeni çift eklenmez. m.count("apple") 1 döndürür. Bu, bir anahtarın varlığını denetlemenin hızlı yoludur. Sıralı erişim iterator ile: for (auto& p : m) std::cout << p.first;.
Uygulama map ile çalış
std::map<std::string, int> m; oluştur. m["apple"] = 3; ve m["pear"] = 5; ekle. m.size() ve m["apple"]'ı ayrı satırlarda yazdır.
Başlangıç kodu
#include <iostream>
#include <map>
#include <string>
// map oluştur ve iki anahtar-değer ekle
int main() {
// boyut ve bir değeri yazdır
return 0;
}Örnek çözüm
#include <iostream>
#include <map>
#include <string>
int main() {
std::map<std::string, int> m;
m["apple"] = 3;
m["pear"] = 5;
std::cout << m.size() << std::endl;
std::cout << m["apple"] << std::endl;
return 0;
}Beklenen çıktı
2 3
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Metodu rolüne eşle
| Kavram | Anlamı |
|---|---|
m["key"] = value |
Ekle/güncelle |
m["key"] |
Değeri oku |
size() |
Öğe sayısı |
std::map<std::string,int> |
Anahtar-değer |
2 std::map anahtarları nasıl sıralanır?
std::map<std::string, int> m;- Anahtara göre artan Doğru cevap
- Ekleme sırasına göre
- Rastgele
- Değere göre
Açıklama: map anahtarları anahtara göre artan sırada tutulur.
3 map ekleme
m["apple"] = ____;
m["apple"] = 3;
Açıklama: m["apple"] = 3; apple anahtarına 3 değerini atar.