C++ میں ڈیٹا سٹرکچر کیا ہے؟

C My Y A S Rkchr Kya



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

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

C++ میں ڈیٹا سٹرکچر کیا ہے؟

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







C++ میں، ڈیٹا ڈھانچے مندرجہ ذیل نحو ہے:



ساخت ساخت_نام {

ڈیٹا ٹائپ 1 کا نام 1 ;

ڈیٹا ٹائپ 2 کا نام 2 ;

ڈیٹا ٹائپ 3 کا نام 3 ;

ڈیٹا ٹائپ 4 کا نام 4 ;

..

..

..

} obj_name ;

مندرجہ بالا نحو میں، the struct مطلوبہ الفاظ ساخت کی وضاحت کے لئے استعمال کیا جاتا ہے اور ساخت_نام ڈھانچے کا صارف کا بیان کردہ نام ہے اور یہ مختلف ہو سکتا ہے۔ دی ڈیٹا ٹائپ 1 ڈھانچے کے ممبر کی ڈیٹا کی قسم ہے اور نام 1 ساخت کے رکن کا نام ہے اور obj_name اس چیز کا نام ہے جس کے لیے ساخت کی وضاحت کی گئی ہے۔



مثال

ذیل کی مثال میں، ساخت کی معلومات تین ارکان پر مشتمل ہے: نام، عمر، اور شہریت





ساخت معلومات

{

چار نام [ پچاس ] ;

int شہریت ;

int عمر ;

}

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

# شامل کریں

نام کی جگہ کا استعمال کرتے ہوئے std ;

ساخت معلومات

{

تار کا نام ;

int عمر ;



} ;

int مرکزی ( باطل ) {

ساخت معلومات p ;

ص نام = 'زینب' ;

ص عمر = 23 ;

cout << 'شخص کا نام:' << ص نام << endl ;

cout << 'شخص کی عمر:' << ص عمر << endl ;

واپسی 0 ;

}

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



C++ میں ڈیٹا سٹرکچر کی درجہ بندی

C++ میں ڈیٹا کی ساخت دو وسیع اقسام میں تقسیم کیا گیا ہے: لکیری اور نان لائنر ڈیٹا ڈھانچے . ڈیٹا ڈھانچے کو درج ذیل خصوصیات کی بنیاد پر تقسیم کیا گیا ہے۔

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

C++ میں ڈیٹا ڈھانچے کے زمرے ہیں:

1: صفیں

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

2: لنک شدہ فہرست

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

3: ڈھیر

Stacks خلاصہ ڈیٹا کی قسم ہے جو LIFO (Last in First Out) کے اصول کی پیروی کرتی ہے۔ اس اصول کا مطلب ہے کہ آخر میں داخل کیا گیا عنصر پہلے حذف کر دیا جائے گا۔ وہ تکراری بیک ٹریکنگ الگورتھم کے ساتھ استعمال ہوتے ہیں۔

4: دم

قطاریں خلاصہ ڈیٹا کی قسم بھی ہیں اور FIFO (First in and First Out) اصول کی پیروی کرتی ہیں۔ اس اصول کا مطلب ہے کہ پہلے داخل کردہ عنصر کو پہلے حذف کر دیا جائے گا۔ ریئل ٹائم سسٹم کی تشریحات کو سنبھالتے وقت وہ مددگار ثابت ہوتے ہیں۔

5: درخت

درخت متعدد نوڈس کے ساتھ نان لائنر ڈیٹا ڈھانچے کا ایک سیٹ ہیں۔ یہ دو چوٹیوں کے ساتھ صرف ایک کنارے کی اجازت دیتا ہے۔

6: گراف

گراف میں، ہر نوڈ ایک ورٹیکس ہے اور ہر ایک چوٹی ایک کنارے کے ذریعے دوسرے ورٹیکس سے منسلک ہے۔ دائرے عمودی ہیں اور تیر کنارے ہیں، وہ حقیقی زندگی کے منظرناموں یا نیورل نیٹ ورکس کو نافذ کرنے کے لیے استعمال ہوتے ہیں۔ گراف کی تین مختلف اقسام ہیں: غیر ہدایت شدہ گراف، دو طرفہ گراف، اور وزنی گراف۔

ڈیٹا کے ڈھانچے پر آپریشنز انجام دیتے ہیں۔

ہم C++ میں ڈیٹا ڈھانچے پر درج ذیل افعال انجام دے سکتے ہیں۔

  • ڈیٹا ڈھانچے میں نئے ڈیٹا عناصر کا اندراج۔
  • ڈیٹا ڈھانچے سے موجودہ ڈیٹا عناصر کو ہٹانا۔
  • ڈیٹا ڈھانچے میں تمام ڈیٹا عناصر کو ڈسپلے کریں۔
  • ڈیٹا ڈھانچے میں مخصوص عنصر کی تلاش کریں۔
  • تمام عناصر کو صعودی یا نزولی ترتیب میں ترتیب دیں۔
  • دو ڈیٹا ڈھانچے کے عناصر کو یکجا کریں اور نیا بنائیں۔

نیچے کی لکیر

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