C++

C++'da harita üzerinde yineleme nasıl yapılır?

C++'da harita üzerinde yineleme nasıl yapılır?
Bu hızlı eğitimde, C'de harita üzerinde nasıl yineleme yapılacağını göreceğiz++.

C'de harita üzerinde yineleme yapmanın birden çok yolu vardır++. C++'ın daha yeni sürümleriyle, C'de harita üzerinde yineleme yapmanın daha gelişmiş yolları vardır++.

tek tek üzerinden geçelim.

stp::map ile for döngüsü kullanma

adında bir harita oluşturduk ülkeSermayeHarita ve buna anahtar/değer çiftleri eklendi.


#Dahil etmek
#Dahil etmek
#Dahil etmek
#Dahil etmek
#Dahil etmek
ad alanı std kullanarak;
int ana()
// Bir haritayı başlat
harita>"Hindistan", "Delhi"));
ülkeSermayeHarita.eklemek (çift("Nepal", "Katmandu"));
ülkeSermayeHarita.eklemek (çift("Çin", "Pekin"));
ülkeSermayeHarita.eklemek (çift("Fransa Paris"));
// Döngü için yineleyici kullanarak yineleme
for (oto itr = countryCapitalMap.başla(); itr != ülkeSermayeHaritası.son(); itr++)

standart::cout << itr->ilk // Erişim anahtarı
<< ':'
<< itr->saniye // Erişim değeri
<< std::endl;

0 döndür;


Çıktı:

Çin: Pekin
Fransa Paris
Hindistan: Delhi
Nepal: Katmandu

Gördüğünüz gibi, for döngüsünü kullanarak country:capital(key:value) yazdırdık.

Dikkat ederseniz kullandık Oto okunabilirlik nedeniyle harita yineleyici için tür belirteci. Kullanabilirsiniz harita::yineleyici açıkçası da.
Not: Çıktıyı görürseniz, artan düzende tuşlara göre sıralanmıştır. Bunun nedeni, std::map'in sağlanan Karşılaştırıcı (sürüm C++11 ve sonrası) ile sıralanmış bir ilişkisel kapsayıcı olmasıdır. Herhangi bir karşılaştırıcı sağlamadığımız için, C++ dize için varsayılan Karşılaştırıcıyı kullandı.

stp::map ile while döngüsünü kullanma

for döngüsü yerine while döngüsünü de kullanabiliriz.


#Dahil etmek
#Dahil etmek
#Dahil etmek
#Dahil etmek >
ad alanı std kullanarak;
int ana()
// Bir haritayı başlat
harita ülkeSermaye Haritası;
// Haritaya farklı elemanlar ekle
ülkeSermayeHarita.eklemek (çift("Hindistan", "Delhi"));
ülkeSermayeHarita.eklemek (çift("Nepal", "Katmandu"));
ülkeSermayeHarita.eklemek (çift("Çin", "Pekin"));
ülkeSermayeHarita.eklemek (çift("Fransa Paris"));
// Harita için bir yineleyici oluştur ve start ile başlat
otomatik itr=ülkeSermaye Haritası.başla();
// while döngüsünde yineleyici kullanarak yineleme
while (itr!=ülkeSermayeHaritası.son())

standart::cout << itr->ilk // Erişim anahtarı
<< ':'
<< itr->saniye // Erişim değeri
<< std::endl;
itr++;

0 döndür;


Çıktı:

Çin: Pekin
Fransa Paris
Hindistan: Delhi
Nepal: Katmandu

Döngü tabanlı Aralık kullanma (C++11 sürümünden itibaren)

C++ 11 sürümünü kullanıyorsanız, bu, C'deki harita üzerinde yineleme yapmanın en zarif yoludur++. Geleneksel kübik döngülerden kaçınabilir ve bunun yerine bunu kullanabilirsiniz.


#Dahil etmek
#Dahil etmek
#Dahil etmek
ad alanı std kullanarak;
int ana()
// Bir haritayı başlat
harita ülkeSermaye Haritası;
// Haritaya farklı elemanlar ekle
ülkeSermayeHarita.eklemek (çift("Hindistan", "Delhi"));
ülkeSermayeHarita.eklemek (çift("Nepal", "Katmandu"));
ülkeSermayeHarita.eklemek (çift("Çin", "Pekin"));
ülkeSermayeHarita.eklemek (çift("Fransa Paris"));
// Döngü için yineleyici kullanarak yinele
for (const auto &ele : countryCapitalMap)
cout <
0 döndür;


Çıktı:
Çin: Pekin
Fransa Paris
Hindistan: Delhi
Nepal: Katmandu

Anahtar/değer çiftleriyle aralık tabanlı for döngüsü kullanma (C++17 sürümünden itibaren)

Bu sürüm c++17'den itibaren desteklenir ve harita üzerinde yineleme için daha esnek bir yol sağlar. Daha da okunabilir bir çözüm sağlayan haritadaki anahtar/değer çiftlerine açıkça erişebilirsiniz.


#Dahil etmek
#Dahil etmek
#Dahil etmek
ad alanı std kullanarak;
int ana()
// Bir haritayı başlat
harita ülkeSermaye Haritası;
// Haritaya farklı elemanlar ekle
ülkeSermayeHarita.eklemek (çift("Hindistan", "Delhi"));
ülkeSermayeHarita.eklemek (çift("Nepal", "Katmandu"));
ülkeSermayeHarita.eklemek (çift("Çin", "Pekin"));
ülkeSermayeHarita.eklemek (çift("Fransa Paris"));
// Döngü için yineleyici kullanarak yinele
for (const auto& [anahtar, değer] : countryCapitalMap)
cout << key << ":" << value << "\n";

0 döndür;


Çıktı:
Çin: Pekin
Fransa Paris
Hindistan: Delhi
Nepal: Katmandu

Hepsi C'deki harita üzerinde nasıl yineleneceği ile ilgili++. mutlu kodlama!

Linux'ta oyun oturumunuzu nasıl yakalar ve yayınlarsınız?
Geçmişte oyun oynamak sadece bir hobi olarak görülüyordu, ancak zamanla oyun endüstrisi teknoloji ve oyuncu sayısı açısından büyük bir büyüme gördü. Ç...
El Takibiyle Oynanabilecek En İyi Oyunlar
Oculus Quest kısa süre önce, kontrolörler olmadan elle takip etme harika fikrini tanıttı. Resmi olarak veya SideQuest aracılığıyla destek sağlayan sür...
Tam Ekran Linux Uygulamalarında ve Oyunlarında OSD Yerleşimi Nasıl Gösterilir
Tam ekran oyunlar oynamak veya uygulamaları dikkat dağıtmayan tam ekran modunda kullanmak, bir panelde veya görev çubuğunda görünen ilgili sistem bilg...