Arrays اور منسلک فہرستوں کے درمیان فرق

Anonim

Arrays vs Linked List> عناصر عناصر کے جمع کرنے کے لئے سب سے عام استعمال کردہ ڈیٹا ڈھانچہ ہیں. زیادہ تر پروگرامنگ زبانیں آسانی سے arrays میں arrays اور رسائی تک رسائی کا اعلان کرنے کے لئے طریقے فراہم کرتا ہے. مربوط فہرست، زیادہ واضح طور پر سنگل سے منسلک فہرست، ایک ڈیٹا ڈھانچہ بھی ہے جو عناصر کے جمع کرنے کے لئے استعمال کیا جا سکتا ہے. یہ نوڈس کے ترتیب سے بنا ہوا ہے اور ہر نوڈ میں ترتیب میں اگلے نوڈ کو حوالہ دیتا ہے.

شناخت 1 میں دکھایا گیا ہے، عام طور پر کوڈ کا ایک ٹکڑا ہے جس میں عام طور پر ایک صف میں قیمتوں کا تعین اور تفویض کرنا ہوتا ہے. شناخت 2 کی طرف اشارہ کرتا ہے کہ کس طرح کی ترتیب میں میموری کی طرح نظر آتا ہے.

اوپر کے کوڈ کو ایک صف کی وضاحت کرتا ہے جو 5 انٹیگرز کو ذخیرہ کرسکتا ہے اور وہ انڈیکس 0 سے 4 تک استعمال کررہے ہیں. ایک صف کی ایک اہم ملکیت یہ ہے کہ پوری صف کو میموری کے ایک ہی بلاک کے طور پر مختص کیا جاتا ہے اور ہر عنصر میں اس کی اپنی جگہ ہوتی ہے صف ایک بار ایک صف کی وضاحت کی گئی ہے، اس کا سائز مقرر کیا جاتا ہے. لہذا اگر آپ کو مرتب کردہ وقت میں صف کے سائز کے بارے میں یقین نہیں ہے، تو آپ کو ایک محفوظ جگہ میں کافی سرنی کی وضاحت کرنا ہوگی. لیکن، زیادہ تر وقت ہم اصل میں کم عناصر کو استعمال کرنے کے لۓ استعمال کرتے ہیں. لہذا میموری کی کافی مقدار اصل میں ضائع ہوگئی ہے. دوسری جانب اگر "بڑی تعداد میں کافی سرنی" کافی بڑی نہیں ہے تو یہ پروگرام حادثہ ہوگا.

ایک منسلک فہرست میموری کے اپنے بلاک میں علیحدہ علیحدہ عناصر کو مختص کرتا ہے اور مجموعی ساخت ان عناصر کو ایک سلسلہ کے لنکس کے طور پر منسلک کرکے حاصل کی جاتی ہے. ایک منسلک فہرست میں ہر عناصر میں دو شعبوں جیسے شکل 3 میں دکھایا گیا ہے. اعداد و شمار کا میدان ذخیرہ شدہ اعداد و شمار ذخیرہ کرتا ہے اور اگلے میدان سلسلے میں اگلے عنصر کا حوالہ رکھتا ہے. منسلک فہرست کا پہلا عنصر منسلک فہرست کے سربراہ کے طور پر محفوظ کیا جاتا ہے.

ڈیٹا
اگلا شناخت 3: ایک مربوط فہرست کی عنصر

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

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