C ++ میں نقشے پر تکرار کیسے کریں۔

How Iterate Over Map C



اس فوری ٹیوٹوریل میں ، ہم دیکھیں گے کہ C ++ میں نقشے میں کیسے تکرار کی جائے۔

C ++ میں نقشے پر تکرار کرنے کے کئی طریقے ہیں۔ C ++ کے نئے ورژن کے ساتھ ، C ++ میں نقشے پر تکرار کرنے کے مزید جدید طریقے ہیں۔







آئیے ہر ایک کو ایک ایک کرکے گزریں۔



stp :: map کے ساتھ لوپ کے لیے استعمال کرنا۔

ہم نے ایک نقشہ بنایا ہے جس کا نام ہے _ _ _ _۔ اور اس میں کلیدی قدر کے جوڑے داخل کیے۔



<کے لیے>
#شامل کریں
#شامل کریں
#شامل کریں
#شامل کریں
#شامل کریں
استعمال کرتے ہوئے نام کی جگہگھنٹے؛
intمرکزی() {
// نقشہ شروع کریں۔
نقشہ>'انڈیا'،'دہلی'))؛
countryCapitalMap.داخل کریں(جوڑا<تار ، تار>('نیپال'،'کھٹمنڈو'))؛
countryCapitalMap.داخل کریں(جوڑا<تار ، تار>('چین'،'بیجنگ'))؛
countryCapitalMap.داخل کریں(جوڑا<تار ، تار>('فرانس'،'پیرس'))؛

// لوپ میں تکرار کا استعمال کرتے ہوئے تکرار کریں۔
کے لیے (آٹوآئی ٹی آر=countryCapitalMap.شروع کریں()؛آئی ٹی آر!=countryCapitalMap.ختم()؛آئی ٹی آر++۔)
{
گھنٹے::لاگت <<آئی ٹی آر->پہلا// رسائی کلید
<< ':'
<<آئی ٹی آر->دوسرا// رسائی کی قیمت۔
<<گھنٹے::endl؛
}
واپسی ؛
}
</کے لیے>
آؤٹ پٹ۔:
<کے لیے>
چین:بیجنگ۔
فرانس:پیرس
انڈیا:دہلی۔
نیپال:کھٹمنڈو۔
</کے لیے>

جیسا کہ آپ دیکھ سکتے ہیں ، ہم نے پرنٹ کیا ہے country: capital (key: value) لوپ کے لیے استعمال کرتے ہوئے۔





اگر آپ نے نوٹس لیا تو ہم نے | _+_ | استعمال کیا ہے۔ پڑھنے کی اہلیت کی وجہ سے نقشہ تکرار کرنے والے کے لیے ٹائپ سپیفائیر۔ آپ | _+_ | استعمال کر سکتے ہیں۔ واضح طور پر بھی
نوٹ: اگر آپ آؤٹ پٹ دیکھتے ہیں ، تو اسے چابیاں چڑھتے ہوئے ترتیب سے ترتیب دیا جاتا ہے۔ اس کی وجہ یہ ہے کہ std :: map ایک ترتیب شدہ ایسوسی ایٹو کنٹینر ہے جس کے ساتھ سپلائی کردہ کمپیریٹر (ورژن C ++ 11 کے بعد) ہے۔ چونکہ ہم نے کوئی موازنہ کار فراہم نہیں کیا ، اس لیے C ++ نے سٹرنگ کے لیے ڈیفالٹ کمپیریٹر استعمال کیا ہے۔

stp :: map کے ساتھ لوپ کا استعمال کرتے ہوئے۔

ہم لوپ کے بجائے تھوڑی دیر کا لوپ بھی استعمال کرسکتے ہیں۔



<کے لیے>
#شامل کریں
#شامل کریں
#شامل کریں
#شامل کریں>
استعمال کرتے ہوئے نام کی جگہگھنٹے؛
intمرکزی() {
// نقشہ شروع کریں۔
نقشہ<تار ، تار>countryCapitalMap؛
// نقشے میں مختلف عناصر داخل کریں۔
countryCapitalMap.داخل کریں(جوڑا<تار ، تار>('انڈیا'،'دہلی'))؛
countryCapitalMap.داخل کریں(جوڑا<تار ، تار>('نیپال'،'کھٹمنڈو'))؛
countryCapitalMap.داخل کریں(جوڑا<تار ، تار>('چین'،'بیجنگ'))؛
countryCapitalMap.داخل کریں(جوڑا<تار ، تار>('فرانس'،'پیرس'))؛


// نقشے کے لیے ایک تکرار کنندہ بنائیں اور شروع کے ساتھ شروع کریں۔
آٹوآئی ٹی آر=countryCapitalMap.شروع کریں()؛
// جبکہ لوپ میں تکرار کا استعمال کرتے ہوئے تکرار کریں۔
جبکہ (آئی ٹی آر!=countryCapitalMap.ختم())
{
گھنٹے::لاگت <<آئی ٹی آر->پہلا// رسائی کلید
<< ':'
<<آئی ٹی آر->دوسرا// رسائی کی قیمت۔
<<گھنٹے::endl؛
آئی ٹی آر++۔؛
}
واپسی ؛
}
</کے لیے>
آؤٹ پٹ۔:
<کے لیے>
چین:بیجنگ۔
فرانس:پیرس
انڈیا:دہلی۔
نیپال:کھٹمنڈو۔
</کے لیے>

رینج کی بنیاد پر لوپ کا استعمال کرتے ہوئے (C ++ 11 ورژن آگے)

اگر آپ C ++ 11 ورژن استعمال کر رہے ہیں ، تو یہ C ++ میں نقشے پر تکرار کرنے کا سب سے خوبصورت طریقہ ہے۔ آپ روایتی کیوبسروم لوپس سے بچ سکتے ہیں اور اس کے بجائے اسے استعمال کرسکتے ہیں۔

<کے لیے>
#شامل کریں
#شامل کریں
#شامل کریں

استعمال کرتے ہوئے نام کی جگہگھنٹے؛
intمرکزی() {
// نقشہ شروع کریں۔
نقشہ<تار ، تار>countryCapitalMap؛
// نقشے میں مختلف عناصر داخل کریں۔
countryCapitalMap.داخل کریں(جوڑا<تار ، تار>('انڈیا'،'دہلی'))؛
countryCapitalMap.داخل کریں(جوڑا<تار ، تار>('نیپال'،'کھٹمنڈو'))؛
countryCapitalMap.داخل کریں(جوڑا<تار ، تار>('چین'،'بیجنگ'))؛
countryCapitalMap.داخل کریں(جوڑا<تار ، تار>('فرانس'،'پیرس'))؛


// لوپ میں تکرار کا استعمال کرتے ہوئے تکرار کریں۔
کے لیے (const آٹو &وہ:countryCapitalMap) {
لاگت <<وہ.پہلا << ':' <<وہ.دوسرا<<'n'؛
}

واپسی ؛
}
</کے لیے>
آؤٹ پٹ۔:
چین:بیجنگ۔
فرانس:پیرس
انڈیا:دہلی۔
نیپال:کھٹمنڈو۔

کلیدی اقدار کے جوڑوں کے ساتھ رینج پر مبنی لوپ کا استعمال (C ++ 17 ورژن کے بعد)

یہ ورژن c ++ 17 کے بعد سے تعاون یافتہ ہے اور نقشے پر تکرار کے لیے زیادہ لچکدار طریقہ فراہم کرتا ہے۔ آپ نقشے میں کلیدی اقدار کی جوڑی تک واضح طور پر رسائی حاصل کر سکتے ہیں جو اس سے بھی زیادہ پڑھنے کے قابل حل فراہم کرتا ہے۔

<کے لیے>
#شامل کریں
#شامل کریں
#شامل کریں

استعمال کرتے ہوئے نام کی جگہگھنٹے؛
intمرکزی() {
// نقشہ شروع کریں۔
نقشہ<تار ، تار>countryCapitalMap؛
// نقشے میں مختلف عناصر داخل کریں۔
countryCapitalMap.داخل کریں(جوڑا<تار ، تار>('انڈیا'،'دہلی'))؛
countryCapitalMap.داخل کریں(جوڑا<تار ، تار>('نیپال'،'کھٹمنڈو'))؛
countryCapitalMap.داخل کریں(جوڑا<تار ، تار>('چین'،'بیجنگ'))؛
countryCapitalMap.داخل کریں(جوڑا<تار ، تار>('فرانس'،'پیرس'))؛


// لوپ میں تکرار کا استعمال کرتے ہوئے تکرار کریں۔
کے لیے (const آٹو& [کلید ، قیمت] :countryCapitalMap) {
لاگت <<چابی<< ':' <<قدر<< 'n'؛
}

واپسی ؛
}
</کے لیے>
آؤٹ پٹ۔:
چین:بیجنگ۔
فرانس:پیرس
انڈیا:دہلی۔
نیپال:کھٹمنڈو۔

C ++ میں نقشے پر تکرار کرنے کا طریقہ یہ ہے۔ مبارک ہو کوڈنگ!