C++ میں STL کنٹینرز کیا ہیں؟

C My Stl Kn Ynrz Kya Y



C++ میں، STL (معیاری ٹیمپلیٹ لائبریری)، کنٹینرز وہ اشیاء ہیں جو دیگر اشیاء کے مجموعوں کو ذخیرہ کرنے کے لیے استعمال ہوتی ہیں۔ وہ کلاس ٹیمپلیٹس کی طرح کام کرتے ہیں اور بڑی تعداد میں عنصر کی اقسام کو سپورٹ کرتے ہیں اور اپنے عناصر تک براہ راست یا تکرار کرنے والوں کے ذریعے رسائی کے لیے ممبر فنکشن فراہم کرتے ہیں۔

C++ STL کنٹینرز کی اقسام

C++ میں، STL کی تین اقسام ہیں۔ کنٹینرز ، جو ذیل میں درج ہیں:







1: ترتیب وار کنٹینرز

C++ میں، ترتیب وار کنٹینرز ہمیں ایسی اشیاء کو ذخیرہ کرنے کے قابل بناتے ہیں جنہیں ترتیب وار بازیافت کیا جا سکتا ہے۔ یہ کنٹینرز ڈیٹا ڈھانچے کی صفوں یا منسلک فہرستوں کے طور پر انکوڈ کیے گئے ہیں۔ ترتیب وار کنٹینرز کی کچھ اقسام ذیل میں دی گئی ہیں۔



  • ویکٹر: یہ ایک متحرک سائز کی صف ہے جو یادداشت میں متصل انداز میں محفوظ کی جاتی ہے۔
  • کس کے بارے میں: یہ ایک دوہرے آخر والی قطار کی نمائندگی کرتا ہے جو اندراج اور حذف دونوں کے لیے کارروائیوں کی حمایت کرتا ہے۔
  • صف: یہ ایک جامد صف ہے جو تالیف کے دوران اس کے سائز کو مقرر رکھتے ہوئے مختص کی جاتی ہے۔
  • فہرست: یہ ایک دوگنا منسلک فہرست ہے جو فہرست میں کسی بھی جگہ عناصر کو تیزی سے اندراج اور حذف کرنے کا کام انجام دیتی ہے۔
  • آگے کی فہرست: یہ ایک فہرست کی طرح اکیلے جڑی ہوئی فہرست ہے لیکن آپ اسے صرف ایک ہی سمت میں عبور کر سکتے ہیں۔

مثال



اس مثال میں، ہم استعمال کریں گے ویکٹر کلاس یہ دکھانے کے لیے کہ کس طرح a ترتیب وار کنٹینر چلاتا ہے





# شامل کریں
#شامل <ویکٹر>
نام کی جگہ کا استعمال کرتے ہوئے std؛
اہم int ( ) {
// int کے ویکٹر کو شروع کریں۔ قسم
ویکٹر < int > نمبرز = { 10 ، 2 ، 16 ، 70 ، 5 } ;
// ویکٹر پرنٹ کریں
cout << 'نمبر ہیں:' ;
کے لیے ( آٹو اور میں: نمبر )
{
cout << میں << '،' ;
}
واپسی 0 ;
}

مذکورہ بالا کوڈ کے استعمال کو ظاہر کرتا ہے۔ ترتیب وار کنٹینرز ویکٹر فارمیٹ میں، جو عددی صفوں کو ذخیرہ کرنے کی اجازت دیتا ہے۔ پروگرام انٹیجر ٹائپ کے ایک ویکٹر کو شروع کرتا ہے، اسے اقدار تفویض کرتا ہے، اور لوپ کا استعمال کرتے ہوئے انہیں پرنٹ کرتا ہے۔ یہ مثال دکھاتی ہے کہ C++ میں ڈیٹا کو ذخیرہ کرنا اور اس تک رسائی حاصل کرنا کس طرح آسان ہے۔ ترتیب وار کنٹینر .



2: ایسوسی ایٹیو کنٹینرز

ایسوسی ایٹیو کنٹینرز ہمیں موازنہ آپریٹر کے ذریعہ بیان کردہ مخصوص ترتیب میں عناصر کو ذخیرہ کرنے کی اجازت دیں۔ کے برعکس ترتیب وار کنٹینرز میں عناصر کی ترتیب ایسوسی ایٹیو کنٹینرز چابیاں کا استعمال کرتے ہوئے برقرار رکھا جاتا ہے جو صارفین کو عناصر کو منظم کرنے اور ان تک رسائی کی اجازت دیتا ہے۔ جب ایک عنصر ایک میں داخل کیا جاتا ہے۔ ایسوسی ایٹیو کنٹینر ، یہ خود بخود اس کی کلید کی بنیاد پر درست پوزیشن پر ترتیب دیا جاتا ہے۔ اس قسم کے کنٹینرز بائنری ٹری ڈیٹا ڈھانچے کی طرح اندرونی طور پر لاگو ہوتے ہیں۔

دی ساتھی کنٹینرز کے طور پر درجہ بندی کر رہے ہیں:

  • نقشہ: کلیدی قدر کے جوڑوں کا مجموعہ جو منفرد کلیدوں کا استعمال کرتے ہوئے ترتیب دیا گیا ہے۔
  • ملٹی میپ: کلیدی قدر کے جوڑوں کا مجموعہ جسے کلیدوں کا استعمال کرتے ہوئے ترتیب دیا گیا ہے۔
  • سیٹ کریں: انوکھی چابیاں جمع کی گئیں اور چابیاں کے ذریعہ ترتیب دیں۔
  • ملٹی سیٹ: چابیاں کا ایک مجموعہ جسے چابیاں استعمال کرکے ترتیب دیا گیا ہے۔

مثال

یہ بتانے کے لیے کہ کس طرح ایک ساتھی کنٹینر کام کرتا ہے، ہم استعمال کریں گے کلاس مقرر کریں اس مثال میں.

# شامل کریں
# شامل کریں
نام کی جگہ کا استعمال کرتے ہوئے std؛
اہم int ( )
{
// شروع کرنا a سیٹ کے int قسم
سیٹ < int > نمبرز = { 10 ، 2 ، 16 ، 70 ، 5 } ;
// پرنٹ کریں سیٹ
cout << 'نمبر ہیں:' ;
کے لیے ( آٹو اور میں: نمبر )
{
cout << میں << '،' ;
}
واپسی 0 ;
}

مندرجہ بالا کوڈ C++ میں عدد کے ایک سیٹ کو شروع کرتا ہے، جو ایک ایسوسی ایٹیو کنٹینر کی مثال ہے۔ سیٹ یقینی بناتا ہے کہ عناصر کو بطور ڈیفالٹ صعودی ترتیب میں ترتیب دیا گیا ہے۔ کوڈ پھر لوپ کا استعمال کرتے ہوئے سیٹ میں نمبروں کو پرنٹ کرتا ہے۔

3: غیر ترتیب شدہ ایسوسی ایٹیو کنٹینرز

C++ میں، غیر ترتیب شدہ ایسوسی ایٹیو کنٹینرز کے غیر ترتیب شدہ ورژن فراہم کرنے کے لیے استعمال کیا جاتا ہے۔ ساتھی کنٹینر . وہ اندرونی طور پر ہیش ٹیبل ڈیٹا ڈھانچے کی طرح لاگو ہوتے ہیں۔ دی ساتھی کنٹینرز کے طور پر درجہ بندی کر رہے ہیں:

  • غیر ترتیب شدہ نقشہ: کلیدی قدر کے جوڑوں کا مجموعہ جو منفرد کلیدوں کا استعمال کرتے ہوئے ہیش کیا گیا ہے۔
  • غیر ترتیب شدہ ملٹی میپ: کلیدی قدر کے جوڑوں کا مجموعہ جسے چابیاں استعمال کرکے ہیش کیا گیا ہے۔
  • غیر ترتیب شدہ سیٹ: منفرد چابیاں کا ایک مجموعہ جسے چابیاں استعمال کرکے ہیش کیا گیا ہے۔
  • غیر ترتیب شدہ ملٹی سیٹ: چابیاں کا ایک مجموعہ جسے چابیاں استعمال کرکے ہیش کیا گیا ہے۔

مثال

یہ واضح کرنے کے لیے کہ کس طرح ایک غیر ترتیب شدہ ایسوسی ایٹیو کنٹینر کام کرتا ہے، ہم استعمال کریں گے غیر ترتیب شدہ سیٹ اس مثال میں کلاس.

# شامل کریں
#include
نام کی جگہ کا استعمال کرتے ہوئے std؛
اہم int ( )
{
// int کا ایک غیر ترتیب شدہ_سیٹ شروع کریں۔ قسم
unordered_set < int > نمبرز = { 10 ، 2 ، 16 ، 70 ، 5 } ;
// پرنٹ کریں سیٹ
cout << 'نمبر ہیں:' ;
کے لیے ( آٹو اور میں: نمبر )
{
cout << میں << '،' ;
}
واپسی 0 ;
}

نتیجہ

ایک STL C++ کنٹینر دیگر اشیاء کے مجموعہ کو ذخیرہ کرنے کے لیے ہولڈر آبجیکٹ ہے۔ وہ کلاس ٹیمپلیٹس کی طرح کام کرتے ہیں اور بڑی تعداد میں عنصر کی اقسام کو سپورٹ کرتے ہیں۔ اس ٹیوٹوریل میں، ہم نے STL C++ کنٹینرز کی سب سے زیادہ استعمال ہونے والی اقسام پر تبادلہ خیال کیا۔ ترتیب وار کنٹینرز، ایسوسی ایٹیو کنٹینرز اس کے ساتھ ساتھ غیر ترتیب شدہ ایسوسی ایٹیو کنٹینرز .