JASON HIRSCHHORN: سب کو خوش آمدید دفعہ سات. ہم کورس کی ہفتے کے ساتوں میں ہیں. اور یہ آئندہ جمعرات ہالووین تو میں ہوں ہے ایک قددو کی طرح لباس پہنے. میں نے جھکنا اور پر ڈال نہیں کر سکتے ہیں میں ہوں کیوں میرے جوتے، تو یہ ہے صرف موزے پہنے. میں نے بھی کے تحت کچھ بھی نہیں پہن رہا ہوں یہ ہے تو یہ، تو میں اسے لے لو نہیں کر سکتے ہیں آپ کو پریشان. میں نے اس کے لئے پیشگی معذرت خواہ ہیں. آپ تصور کرنے کی ضرورت نہیں کیا ہو رہا ہے. میں باکسر پہن رہی ہوں. تو یہ سب اچھا ہے. میں ہوں کیوں کے بارے میں ایک طویل کہانی ہے ایک قددو کے طور پر کپڑے پہنے، لیکن میں جا رہا ہوں بعد میں اس کے حصے میں کے لئے اس کو بچانے کے میں شروع کرنے کے لئے چاہتے ہیں کیونکہ. ہم دلچسپ چیزوں کی ایک بہت ہے اس ہفتے پر جانے کے لئے. ان میں سے زیادہ تر اس سے براہ راست تعلق ہفتے کے مسئلہ سیٹ، حروف تہجی. ہم منسلک پر جا جا رہے ہیں فہرست اور ہیش میزیں پورے سیکشن کے لئے. میں، ہر ہفتے کی ایک فہرست اس فہرست میں ڈال دیا آپ کے ساتھ آپ کی مدد کرنے کے لئے وسائل اس کورس پر مواد. نقصان میں یا اگر کچھ کے لئے تلاش مزید معلومات، میں سے ایک چیک ان وسائل. ایک بار پھر، pset6 تہجی ہے، اس ہفتے کی pset کے. اور یہ بھی آپ کی حوصلہ افزائی، اور میں کچھ دوسرے استعمال کرنے کے لئے، آپ کی حوصلہ افزائی وسائل خاص طور پر اس pset کے لئے. خاص طور پر، تین میں نے سکرین پر درج - ہم سے واقف ہو گیا ہے جس GDB، اور اب تھوڑی دیر کے لئے استعمال کرتے ہوئے، ہے اس ہفتے بہت مددگار ثابت ہو جا. تو میں یہاں ڈال دیا. لیکن جب بھی آپ سی کے ساتھ کام کر رہے ہیں، آپ کو ہمیشہ GDB کے لئے استعمال کیا جانا چاہئے آپ کے پروگراموں ڈیبگ. اس ہفتے بھی valgrind. کسی valgrind کیا کرتا ہے پتہ ہے؟ سامعین: اس میموری لیک کے لئے چیک کرتا ہے؟ JASON HIRSCHHORN: Valgrind میموری لیک کے لئے چیک. اگر ایسا ہے تو میں آپ malloc کچھ آپ پروگرام آپ میموری کے لئے پوچھ رہے ہیں. آپ کے پروگرام کے آخر میں، آپ کے پاس آپ نے سب کچھ مفت لکھنے کے لئے واپس میموری دے malloced. آپ کو آخر میں مفت لکھیں اور نہیں ہے تو آپ کے پروگرام ایک نتیجے پر آتا ہے، سب کچھ خود کار طریقے سے کرے گا آزاد کرنا. اور چھوٹے پروگراموں کے لئے، یہ ہے کہ بڑا نہیں ایک سودا. لیکن آپ کو ایک طویل چل رہا ہے لکھ رہے ہیں چھوڑ نہیں ہے پروگرام، ضروری، منٹ یا ایک کے ایک جوڑے میں سیکنڈ کے جوڑے، تو میموری لیک ایک بڑا سودا بن سکتے ہیں. تو pset6 کے لئے، امید ہے کہ آپ کے ساتھ صفر میموری لیک پڑے گا آپ کے پروگرام. میموری لیک کے لئے چیک کرنے کے لئے، کو چلانے کے valgrind اور یہ آپ کو کچھ اچھا دے دیں گے پیداوار آپ جاننا دے یا سب کچھ مفت نہیں تھا. ہم بعد میں اس کے ساتھ عمل کریں گے آج، امید ہے کہ. آخر میں، فرق کمانڈ. آپ اس کی طرح کچھ استعمال کیا جاتا ہے جھانکنا آلے ​​کے ساتھ pset5 میں. آپ کے اندر تلاش کرنے کے لئے کی اجازت دی. تم نے بھی فی، بھی، فرق استعمال کیا جاتا ہے مسئلہ رپورٹ مقرر. لیکن میں آپ کو کرنے کی اجازت دو فائلوں کا آپس میں موازنہ. آپ بٹ نقشہ فائل اور موازنہ کر سکتے ہیں معلومات عملے کے حل کے ہیڈر اور pset5 میں آپ کا حل ہو تو آپ اسے استعمال کرنے کا انتخاب کیا ہے. فرق آپ کی اجازت دے گا اس کے ساتھ ساتھ، ایسا. آپ کے لئے درست جواب موازنہ کر سکتے ہیں آپ کے جواب کے لئے مقرر کیا اس ہفتے کا مسئلہ اور دیکھیں اگر یہ لائنیں یا دیکھ غلطیاں کہاں ہیں. تو ان تین اچھی، فورم کے اوزار ہیں آپ کو اس ہفتے کے لئے استعمال کریں، اور چاہئے یقینی طور پر آپ کے پروگرام کی جانچ پڑتال ان تین اوزار کے ساتھ اندر رخ سے پہلے ایک بار پھر، میں ہر ہفتے ذکر کیا ہے کے طور پر، دونوں - آپ میرے لئے کوئی رائے ہو تو مثبت اور تعمیری - ویب سائٹ کا سربراہ آزاد محسوس کرتے ہیں اس سلائڈ کے نیچے اور وہاں ان پٹ یہ. میں واقعی میں کسی کی تعریف اور سب کی رائے. اور تم مجھ سے مخصوص چیزیں دے کہ اگر میں ہوں کہ بہتر بنانے کے لئے کرتے ہیں یا کر سکتے ہیں آپ مجھ سے چاہتے ہیں کہ اچھا کام کر رہے میں نے دل سے کہ لے اور، جاری رکھیں واقعی سننے کے لئے کوشش آپ کی رائے کے لئے. میں کرنے جا رہا ہوں وعدہ نہیں کر سکتا سب کچھ، اگرچہ، ایک پہننے کی طرح ہر ہفتے کپڑے قددو. تو ہم بلک کے خرچ کرنے کے لئے جا رہے ہیں سیکشن، میں نے ذکر کیا کے طور پر، کے بارے میں بات منسلک کی فہرست اور ہیش میزیں، جس براہ راست لاگو ہو جائے گا مسئلہ اس ہفتے مقرر. لنک کی فہرست ہم نسبتا جائیں گے ہم ایک منصفانہ سا خرچ کر دیا ہے فوری طور پر کی وجہ سے وقت کے سیکشن میں اس پر جا. اور اس طرح ہم براہ راست میں حاصل کریں گے منسلک کی فہرست کے لئے مسائل کوڈنگ. اور پھر آخر میں ہم کے بارے میں بات کریں گے وہ اس پر لاگو ہوتے ہیں کس طرح میزیں ہیش اور ہفتے کے مسئلہ سیٹ. تم سے پہلے اس کوڈ دیکھا ہے. یہ ایک struct ہے، اور یہ وضاحت ہے کچھ نئی ایک نوڈ سے ملاقات کی. اور ایک نوڈ کے اندر ایک عدد صحیح ہے ٹھیک ہے یہاں اور ایک پوائنٹر ہے دوسرے نوڈ. ہم نے اس کو دیکھا ہے. اس کے لئے آ رہی ہے اب ہفتے کے ایک جوڑے. یہ ہم کیا گیا ہے جس میں اشارہ، یکجا اجازت دیتے ہیں جو، اور structs، کے ساتھ کام کر ہم دو مختلف جمع کرنے ایک کے اعداد و شمار کی قسم میں چیزیں. سکرین پر چل رہا ایک بہت ہے. لیکن یہ سب کے سب نسبتا ہونا چاہئے آپ سے واقف. پہلی لائن پر ہم ایک نیا نوڈ کا اعلان. اور پھر اس نئے نوڈ کے اندر، میں نے مقرر ایک سے اس نوڈ میں عددی. ہم میں کر رہا ہوں اگلی لائن پر دیکھ printf کے کمانڈ، لیکن میں دوسر ہے printf کے کمانڈ واقعی کیونکہ اہم حصہ یہاں اس لائن ہے - new_node.n. ڈاٹ کیا مطلب ہے؟ سامعین: نوڈ کے پاس جاؤ اور اس کے لئے (ن) کی قیمت کا جائزہ لینے کے. JASON HIRSCHHORN: ہے بالکل صحیح. ڈاٹ N حصہ تک رسائی کا مطلب اس نئے نوڈ کی. یہ اگلی لائن کیا کرتا ہے؟ مائیکل. سامعین: یہ ایک اور نوڈ پیدا کرتا ہے کہ نئے نوڈ کی طرف اشارہ کریں گے. JASON HIRSCHHORN: تو ایسا نہیں ہوتا ایک نیا نوڈ بنانے کے. یہ ایک ہے پیدا کرتا؟ سامعین: ایک پوائنٹر. JASON HIRSCHHORN: ایک نوڈ پوائنٹر، یہاں اس نوڈ * کی طرف اشارہ کے طور پر. تو یہ ایک نوڈ پوائنٹر پیدا کرتا ہے. اور جو نوڈ اس کے اشارہ کر رہا ہے مائیکل، ہے؟ سامعین: نیا نوڈ؟ JASON HIRSCHHORN: نیا نوڈ. ہم ہے کیونکہ اور یہ وہاں کی طرف اشارہ ہے اس نئے نوڈ کا پتہ دیا. اور اب اس لائن میں ہم دیکھتے ہیں کے دو مختلف طریقے اسی بات کا اظہار کیا. اور میں نے باہر کی طرف اشارہ کرنا چاہتے تھے کس طرح ان دو چیزیں ایک ہی ہیں. پہلی لائن میں، ہم dereference پوائنٹر. تو ہم نوڈ کرنے کے لئے جانا. کہ اس سٹار کا مطلب ہے. ہم اشارہ کے ساتھ اس سے پہلے دیکھا ہے. اس نوڈ پر جاؤ. یہ قوسین میں ہے. اور پھر ڈاٹ آپریٹر کے ذریعے رسائی اس نوڈ کے ن عنصر. تو یہ نحو لے جا رہا ہے ہم یہاں اور اب دیکھا ایک پوائنٹر کے ساتھ اس کا استعمال کرتے ہوئے. کورس کے، اگر یہ مصروف کی طرح ہو جاتا ہے آپ ان قوسین لکھ رہے ہیں - کہ سٹار اور اس کے نقطہ. یہ تھوڑا مصروف ہو جاتا ہے. تو ہم کچھ syntactic چینی ہے. اور یہیں اس لائن - ptr_node> ن. اسی عین مطابق بات کرتا ہے. تو کوڈ کے ان دو لائنوں ہیں برابر اور کیا کریں گے بالکل وہی بات. لیکن میں نے پہلے لوگوں پر باہر کی طرف اشارہ کرنا چاہتا تھا ہم تو آپ کو سمجھ کوئی مزید جاؤ واقعی یہاں اس بات یہ ہے کہ محولہ لقب ضبطی کے لئے صرف syntactic چینی پوائنٹر اور پھر جا رہا کہ struct کے ن حصہ. اس سلائڈ کے بارے میں کوئی سوال ہے؟ ٹھیک ہے. تو ہم نے ایک جوڑے کے ذریعے جانے کے لئے جا رہے ہیں تم پر کر سکتے ہیں کہ آپریشن کے منسلک کی فہرست. ایک لنک کی فہرست، یاد، ایک سلسلہ ہے ایک دوسرے کی طرف اشارہ ہے کہ نوڈس. اور ہم عام طور پر ایک پوائنٹر کے ساتھ شروع کہا جاتا ہے سر، عام طور پر، اس کے لئے پوائنٹس فہرست میں سب سے پہلی چیز. ، یہاں پہلی لائن پر تو ہم سب سے پہلے ہماری اصل ایل ہے. تو بات یہ ہے کہ آپ کے بارے میں سوچ کر سکتے ہیں - اس یہاں متن آپ کے طور پر سوچ سکتے ہیں ہم ذخیرہ ہے صرف پوائنٹر کہیں کہ پوائنٹس پہلا عنصر. اور اس سے منسلک فہرست میں ہم نے چار نوڈس ہے. ہر نوڈ ایک بڑا باکس ہے. بڑی اندر بڑے باکس باکس عددی حصہ ہے. اور پھر ہم ایک پوائنٹر حصہ ہے. ان باکس کے لئے تیار نہیں ہیں پیمانے کتنا بڑا ہے کیونکہ بائٹس میں ایک عددی؟ کتنا بڑا اب؟ چار. اور ایک پوائنٹر کتنا بڑا ہے؟ چار. تو واقعی، ہم اپنی طرف متوجہ کرنے کے لئے تھے تو یہ دونوں خانوں پیمانے ایک ہی سائز ہو جائے گا. اس صورت میں، ہم داخل کرنا چاہتے ہیں منسلک فہرست میں کچھ. تو آپ ہم داخل کر رہے ہیں یہاں دیکھ سکتے ہیں پانچ ہم کے ذریعے گزرنا لنک کی فہرست، جہاں پانچ جاتا ہے، اور پھر اس کے داخل. کی ہے کہ ٹوٹ اور جانے دو تھوڑا سا زیادہ آہستہ آہستہ. میں نے بورڈ کی طرف اشارہ کرنے جا رہا ہوں. تو ہم اپنے نوڈ پانچ ہے ہم mallocs میں پیدا کیا ہے. کیوں سب ہںس رہا ہے؟ صرف مذاق کر رہا. ٹھیک ہے. تو ہم پانچ malloced ہے. ہم اس نوڈ پیدا کیا ہے کہیں اور. ہم جانے کے لئے تیار ہے. ہم کے سامنے سے شروع دو کے ساتھ ہماری فہرست. اور ہم داخل کرنا چاہتے ہیں ایک کے مطابق فیشن میں. تو ہم دونوں کو دیکھ اور ہم نے ڈال کرنا چاہتے ہیں تو ہم دیکھتے ہیں جب پانچ میں، ہم کیا کرتے ہیں ہم سے سے بھی کم ہے؟ کیا ہے؟ ہم اس میں پانچ داخل کرنا چاہتے ہیں لنک کی فہرست، اس کے مطابق رکھنے کے. ہم دو نمبر دیکھ. تو ہم کیا کرتے ہیں؟ مارکس؟ سامعین: پوائنٹر کال اگلے نوڈ. JASON HIRSCHHORN: اور کیوں ہم اگلے ایک پر جانے کے لئے؟ سامعین: یہ ہے فہرست میں اگلے نوڈ. اور ہم صرف یہ کہ دوسرے مقام جانتے. JASON HIRSCHHORN: اور پانچ زیادہ ہے دو سے زیادہ، خاص طور پر. ہم کے مطابق رکھنے کے لئے چاہتے ہیں. تو پانچ دو سے زیادہ ہے. تو ہم نے اگلے ایک پر منتقل. اور اب ہم چار تک پہنچنے کے. ہم نے چار تک پہنچ جاتے ہیں اور کیا ہوتا ہے؟ پانچ چار سے زیادہ ہے. تو ہم جا رکھنے کے. اور اب ہم چھ میں ہیں. اور ہم چھ میں کیا دیکھتے ہیں؟ جی ہاں، کارلوس؟ سامعین: چھ پانچ سے زیادہ ہے. JASON HIRSCHHORN: چھ ہے پانچ سے زیادہ. ہم چاہتے تو وہ ہے جہاں پانچ داخل کرنے کے لیے. تاہم، اس بات کو ذہن میں رکھیں کہ اگر ہم یہاں صرف ایک پوائنٹر ہے - یہ ہے کہ ہماری اضافی پوائنٹر ہے فہرست کے ذریعے traversing کر. اور ہم چھ کی طرف اشارہ کر رہے ہیں. ہم کیا کے ٹریک کو کھو دیا ہے چھ سے پہلے آتا ہے. تو ہم میں کچھ داخل کرنا چاہتے ہیں تو اس کو مدنظر رکھتے ہوئے اس فہرست کے مطابق ہم شاید کس طرح بہت سے اشارہ کی ضرورت ہے؟ سامعین: دو. JASON HIRSCHORN: دو. ایک موجودہ ٹریک رکھنے کے لئے اور ایک ٹریک کے رکھنے کے لئے گزشتہ ایک. یہ صرف ایک اکیلے منسلک فہرست ہے. یہ صرف ایک ہی سمت جاتا ہے. ہم دوگنا منسلک فہرست تھا، جہاں سب کچھ بات کی طرف اشارہ کیا گیا تھا یہ اور اس سے پہلے بات یہ ہے، پھر اس کے بعد ہم ایسا کرنے کی ضرورت نہیں کرے گا. لیکن اس معاملے میں ہم کھونے کے لئے نہیں کرنا چاہتا کی صورت میں ہمارے سامنے آیا ہے کے ٹریک ہم پانچ کہیں داخل کرنے کی ضرورت درمیان میں. ہم نو ڈالنے کا کہنا ہے کہ. جب کیا ہوگا ہم سے آٹھ ہے؟ سامعین: آپ کو پڑے گا کہ، شہوت انگیز null پوائنٹ حاصل. اس کے بجائے، شہوت انگیز null نقطہ ہونے کے آپ کو پڑے گا ایک عنصر کا اضافہ کریں اور اس کے بعد کرنے کی ضرورت یہ نو کی طرف اشارہ. JASON HIRSCHORN: بالکل. تو ہم آٹھ حاصل. ہم فہرست کے آخر تک پہنچنے کی وجہ سے اس شہوت انگیز null اشارہ ہے. اور اب، بجائے ہونے کے اس کی طرف اشارہ شہوت انگیز null ہم اسے ہمارے نئے نوڈ کی طرف اشارہ ہے. اور ہم میں پوائنٹر مقرر شہوت انگیز null ہمارے نئے نوڈ. کسی کو کوئی سوال ہے داخل کے بارے میں؟ کیا کے بارے میں پرواہ نہیں ہے حل کی فہرست رکھنے کے؟ سامعین: AT رہنا آغاز یا اختتام. JASON HIRSCHORN: AT رہنا آغاز یا اختتام. کون سا ہمیں کیا کرنا چاہئے؟ بابی؟ کیوں آخر؟ سامعین: کیونکہ آغاز پہلے سے ہی بھری ہوئی ہے. JASON HIRSCHORN: ٹھیک ہے. آغاز سے پہلے ہی بھرا ہوا ہے. کون بابی کے خلاف بحث کرنے کے لئے چاہتا ہے. مارکس. سامعین: آپ کو شاید کرنا چاہتے ہیں آغاز میں اسے رہنا کیونکہ تم پر ڈال دیا، دوسری صورت میں اگر آپ کو پڑے گا آخر مکمل فہرست گزرنا. JASON HIRSCHORN: بالکل. ہم رن ٹائم کے بارے میں سوچ رہے ہیں، اگر ایسا ہے تو، آخر میں ڈالنے کی رن ٹائم ن ہو جائے گا، اس کے سائز. داخل کی بڑی O رن ٹائم کیا ہے آغاز میں؟ مسلسل وقت. تو آپ کو رکھنے کے بارے میں پرواہ نہیں ہے کچھ، صرف زیادہ بہتر حل اس فہرست کے آغاز میں داخل. اور یہ مسلسل وقت میں کیا جا سکتا. ٹھیک ہے. اگلے آپریشن کی تلاش، جس میں دوسری ہے - ہم تلاش کے طور پر اس phrased ہے. لیکن ہم کے ذریعے تلاش کرنے جا رہے ہیں کچھ اعتراض کے لئے لنک کی فہرست. تم لوگوں کے لئے کوڈ دیکھا ہے لیکچر میں سے پہلے تلاش. لیکن ہم ترتیب کے صرف کے ساتھ کیا تھا داخل، یا کم از کم داخل کچھ کے مطابق. آپ کے ذریعے دیکھو، نوڈ کی طرف سے نوڈ جا، آپ ہیں کہ بڑی تعداد کو تلاش ہے جب تک کے لئے تلاش. آپ تک پہنچنے تو کیا ہوتا فہرست کے آخر؟ میں نو اور میں دیکھ رہا ہوں فہرست کے آخر تک پہنچنے کے. ہم کیا کرتے ہیں؟ سامعین: جھوٹے واپس؟ JASON HIRSCHORN: جھوٹے واپس. ہم اس کو تلاش نہیں کیا. آپ کو فہرست کے آخر تک پہنچنے اور تو اگر آپ کر رہے ہیں کی تعداد کو تلاش نہیں کیا کے لئے تلاش، یہ وہاں نہیں ہے. کے بارے میں کوئی سوال تلاش؟ یہ ایک کے مطابق کی فہرست تھا، تو کیا کریں گے ہماری تلاش کے لئے مختلف ہو؟ جی ہاں. سامعین: اس کی پہلی قیمت ملے گا کہ ایک سے بڑا ہے آپ کے لئے تلاش کر رہے ہیں اور تو جھوٹے واپس. JASON HIRSCHORN: بالکل. تو یہ ایک کے مطابق کی فہرست ہے، تو ہم حاصل کرنے کے لئے تو کیا اس سے زیادہ ہے کہ کچھ ہم کے لئے تلاش کر رہے ہیں، ہم نے کی ضرورت نہیں ہے فہرست کے اختتام پر جا رکھنے کے. ہم اس وقت جھوٹے واپس آ سکتے ہیں ہم اس کو تلاش کرنے کے لئے نہیں کر رہے ہیں کی وجہ سے. اب سوال، ہم کے بارے میں بات کی ہے ہے حل سے منسلک کی فہرست کو مدنظر رکھتے ہوئے، ناچھانٹا ہوا ان کو مدنظر رکھتے ہوئے. یہی وجہ ہے کہ تم کچھ ہونے جا رہا ہے شاید کے بارے میں سوچنا کرنے کے لئے جا اگر آپ کو کوڈنگ مسئلہ پانچ مقرر کرتے وقت علیحدہ ساتھ ایک ہیش ٹیبل کا انتخاب کرتے ہیں جکڑا جانا؟ نقطہ نظر، جس میں ہم بعد میں بات کریں گے. لیکن یہ فہرست رکھنے کے لئے اس کے قابل ہے پھر حل اور ہو سکتا ہے کے قابل ہو جائے تیز تلاش؟ یا اسے فوری طور پر شامل کرنے کے لئے بہتر ہے پھر مسلسل رن ٹائم میں کچھ لیکن تلاش طویل ہے؟ یہ ٹھیک بات ایک tradeoff ہے آپ کو اس زیادہ مناسب ہے فیصلہ کیا حاصل کرنے کے لئے آپ کی مخصوص مسئلہ کے لئے. اور ضروری ایک نہیں ہے بالکل درست جواب. لیکن یہ یقینی طور پر آپ کو ایک فیصلہ ہے بنانے کے لئے، اور شاید اچھا دفاع کرنے کے لئے اس میں، کا کہنا ہے کہ، ایک تبصرہ یا دو کیوں آپ کو دوسرے پر ایک کا انتخاب کیا ہے. آخر میں، خارج کرنے کی. ہم کو خارج کرنے کو دیکھا ہے. یہ تلاش کرنے کے لئے اسی طرح کی ہے. ہم عنصر کے لئے نظر آتے ہیں. ہم چھ کو حذف کرنے کی کوشش کر رہے ہیں. تو ہم یہاں چھ تلاش. ہمیں یقین ہے کہ ہم بنانے کے لئے ہے اس بات جو کچھ بھی کی طرف اشارہ ہے چھ - ہم قدم میں دیکھ کے طور پر یہاں نیچے دو - چھ ضروریات کو پورا کرنے کی طرف اشارہ ہے جو کچھ بھی اب چھ پر اور تبدیل کیا جا جو کچھ بھی چھ اشارہ کر رہا ہے. ہم نے کبھی آرام کی یتیم نہیں کرنا چاہتا کہ قائم کرنے کے لئے بھول کی طرف سے ہماری فہرست گزشتہ پوائنٹر. اور پھر کبھی کبھی، کے لحاظ سے پروگرام پر، وہ کریں گے مکمل طور پر اس نوڈ کو خارج کر دیں. کبھی کبھی آپ کو واپس کرنے کے لئے چاہتے ہیں کریں گے اس نوڈ میں ہے قیمت. تو اس کام کو خارج کرنے کا طریقہ یہ ہے. کوئی سوال حذف کریں؟ سامعین: تو آپ کو خارج کرنے کے لئے جا رہے ہیں یہ آپ کو صرف ڈاؤن لوڈ، اتارنا کا استعمال کریں گے کیونکہ شاید یہ malloced تھا؟ JASON HIRSCHORN: اگر آپ کو آزاد کرنا چاہتے ہیں تو بالکل صحیح ہے اور آپ کو ہے کہ کچھ یہ malloced. ہم اس کی قیمت واپس کرنے کے لئے چاہتا تھا، کا کہنا ہے کہ. ہم واپس کر سکتے ہیں چھ اور پھر ڈاؤن لوڈ، اتارنا اس پر اس نوڈ اور کال مفت. یا ہم شاید پہلی مفت فون کروں گا اور اس کے بعد چھ واپس. ٹھیک ہے. تو کوڈنگ عمل پر منتقل. ہم تین افعال کوڈ لئے جا رہے ہیں. سب سے پہلے ایک insert_node کہا جاتا ہے. تو آپ میں آپ کے ای میل ہے کہ کوڈ ہے، اور آپ کو بعد میں اس کو دیکھ رہے ہیں آپ linked.c میں کوڈ تک رسائی حاصل کر سکتے ہیں CS50 کی ویب سائٹ پر. لیکن linked.c میں، کچھ وہاں ہے پہلے سے ہی ہے کہ کنکال کوڈ آپ کے لئے لکھا گیا. اور پھر ایک جوڑے کام کرتا ہے ہے آپ کو لکھنے کے لئے کی ضرورت ہے. سب سے پہلے ہم جا رہے ہیں insert_node لکھنا. اور کیا insert_node کرتا ہے ایک عددی اضافہ. اور آپ کو عددی دے رہے ہیں ایک لنک کی فہرست میں. اور خاص طور پر، آپ کی ضرورت ہے حل کی فہرست رکھنے کے لئے سب سے چھوٹی سے سب سے بڑا کرنے کے لئے. اس کے علاوہ، آپ کو نہیں کرنا چاہتا کسی بھی نقلیں ڈالیں. آخر میں، آپ insert_node دیکھ سکتے ہیں ایک bool واپس. تو آپ صارف جانتے ہیں کرنے کی توقع کر رہے ہیں داخل کیا گیا تھا یا نہیں صحیح یا غلط واپس لوٹنے کی طرف سے کامیاب. اس پروگرام کے آخر میں - اور اس مرحلے کے لئے آپ کی ضرورت نہیں ہے کچھ آزاد کے بارے میں فکر کرنے کی. تو آپ کر رہے ہیں سب ایک عددی کے لے جا رہا ہے اور ایک کی فہرست میں داخل. یہی تو میں اب کرنے کے لئے آپ سے پوچھ رہا ہوں کیا ہے. ایک بار پھر، linked.c میں، جس سے آپ تمام، کنکال کوڈ ہے. اور آپ کو نیچے کی طرف دیکھنا چاہئے نمونے کی تقریب کا اعلان. تاہم، یہ کوڈنگ میں جانے سے پہلے C میں، میں انتہائی جانے کے لئے حوصلہ افزائی اقدامات کے ذریعے ہم کیا گیا ہے ہر ہفتے کی مشق. ہم نے پہلے ہی ذریعے چلا گیا ہے اس کی ایک تصویر. تو آپ کو کچھ سمجھ ہے چاہئے یہ کس طرح کام کرتا. لیکن میں لکھنے کے لئے حوصلہ افزائی کرے گا اندر ڈائیونگ سے پہلے کچھ pseudocode اور ہم پر جانے کے لئے جا رہے ہیں ایک گروپ کے طور pseudocode. اور پھر آپ نے لکھا ہے ایک بار آپ pseudocode، اور ہم نے لکھا ہے ہمارے ایک گروپ کے طور pseudocode، آپ کر سکتے ہیں سی میں یہ کوڈنگ میں جاؤ ایک سر اپ، insert_node تقریب کے طور پر شاید trickiest ہے تین لکھنے کے لئے جا رہے ہیں کیونکہ میں کچھ اضافی رکاوٹوں شامل آپ پروگرامنگ، خاص طور پر میں اس آپ کو کسی بھی شامل کرنے کے لئے نہیں جا رہے ہیں نقول اور اس فہرست کے مطابق رہنا چاہئے. تو یہ ایک غیر معمولی پروگرام ہے آپ کوڈ کی ضرورت ہے. اور تم کیوں سات پانچ نہیں لے منٹ صرف پر کام کرنے کے لئے pseudocode اور کوڈ. اور پھر ہم شروع کریں گے ایک گروپ کے طور جا. ایک بار پھر، آپ کو صرف کسی بھی سوال ہے تو آپ کے ہاتھ کو بلند کرنے اور میں کے ارد گرد آئے گا. . ہم نے بھی عام طور پر ان کرتے ہیں - یا میں واضح طور پر آپ کو نہیں کہتے لوگوں کے ساتھ کام کر سکتے ہیں. لیکن ظاہر ہے، میں انتہائی آپ کی حوصلہ افزائی، اگر آپ سوالات ہیں، پوچھنا آپ کے لئے اگلے بیٹھے کے پڑوسی یا اس سے بھی کسی کو ساتھ مل کر کام اور اگر تم چاہو تو. یہ ایک فرد ہونے کی ضرورت نہیں ہے خاموش سرگرمی. کچھ لکھنے سے شروع کرتے ہیں بورڈ پر pseudocode. کون مجھ سے پہلی سطر دے سکتے ہیں اس پروگرام کے لئے pseudocode؟ اس تقریب کے لئے، بلکہ - insert_node. Alden؟ سامعین: تو میں نے سب سے پہلے بات تھی نوڈ اور میں ایک نئی پوائنٹر بنانے یہ ایک ہی کی طرف اشارہ ہے initialized فہرست اشارہ کر رہا ہے بات یہ ہے کہ. JASON HIRSCHORN: ٹھیک ہے. تو آپ کو ایک نیا پوائنٹر پیدا کر رہے ہیں فہرست، نہیں نوڈ. سامعین: ٹھیک ہے. جی ہاں. JASON HIRSCHORN: ٹھیک ہے. اور پھر جو ہم کرنا چاہتے ہیں؟ اس کے بعد کیا ہے؟ کیا نوڈ کے بارے میں؟ ہم ایک نوڈ نہیں ہے. ہم صرف ایک قیمت ہے. ہم ایک نوڈ داخل کرنا چاہتے ہیں تو، کیا ہم کرتے ہیں ہم بھی اس سے پہلے سب سے پہلے کرنے کی ضرورت ہے یہ داخل کے بارے میں سوچ؟ سامعین: اوہ، معاف کیجئے گا. ہم ایک نوڈ کے لئے جگہ malloc کرنے کی ضرورت ہے. JASON HIRSCHORN: بہترین. کی کرتے ہیں - ٹھیک ہے. کہ اعلی تک نہیں پہنچ سکتا. ٹھیک ہے. ہم نیچے جا رہا، اور اس کے بعد کر رہے ہیں ہم دو کالم استعمال کر رہے ہیں. میں اس میں نہیں جا سکتا - ٹھیک ہے. ایک نیا نوڈ بنانے. آپ کی فہرست میں ایک اور پوائنٹر بنا سکتے ہیں یہ موجود ہے یا آپ کو صرف کی فہرست میں استعمال کر سکتے ہیں. تم واقعی میں ایسا کرنے کی ضرورت نہیں ہے. تو ہم نے ایک نیا نوڈ بنانے کے. عظیم. یہی وجہ ہے کہ ہم سب سے پہلے کیا ہے. اگلے کیا ہے؟ سامعین: انتظار. اب ہم ایک نیا نوڈ بنانے یا چاہئے ہم اس بات کو یقینی بنانے کے لئے انتظار کرنا چاہیئے نوڈ کا کوئی نقول نہیں ہے فہرست میں اس سے پہلے ہم نے اسے تخلیق؟ JASON HIRSCHORN: اچھا سوال ہے. کے بعد کی وجہ سے کے لئے اس کی پکڑ ہم پیدا ہو جائے گا وقت کی اکثریت ایک نیا نوڈ. تو ہم یہاں رہیں گے. لیکن یہ ایک اچھا سوال ہے. ہم نے اسے تخلیق اور ہم نے تو ڈوپلیکیٹ، کیا کرنا چاہیے ہم واپس آنے سے پہلے ہے؟ سامعین: یہ مفت. JASON HIRSCHORN: جی ہاں. شاید اسے آزاد. ٹھیک ہے. ہم کے بعد ہم کیا کرتے ہیں ایک نیا نوڈ بنانے کے؟ ینی؟ سامعین: کیا ہم ڈال نوڈ میں نمبر؟ JASON HIRSCHORN: بالکل. ہم نمبر ڈال - ہم جگہ malloc. میں نے اس کو چھوڑنے کے لئے جا رہا ہوں سب ایک لائن کے طور پر. لیکن تم صحیح ہو. پھر ہم جگہ malloc، اور ہم اندر نمبر ڈال ہم بھی پوائنٹر مقرر کر سکتے ہیں شہوت انگیز null اس کا حصہ. بالکل ٹھیک ہے. اور پھر اس کے بعد کیا ہو گا؟ ہم بورڈ پر اس تصویر کو متوجہ کیا. تو ہم کیا کرتے ہیں؟ سامعین: کیا ہم فہرست کے ذریعے جاؤ. JASON HIRSCHORN: لسٹ کے ذریعے جاؤ. ٹھیک ہے. اور ہم ہر نوڈ میں کیا چیک کروں. کرٹ، کیا ہم چیک کرتے ہیں ہر نوڈ میں ہے؟ سامعین: دیکھو ن قدر کی چاہے اس نوڈ (ن) کی قیمت سے زیادہ ہے ہمارے نوڈ کی. JASON HIRSCHORN: ٹھیک ہے. میں کرنے جا رہا ہوں - ٹھیک ہے، جی ہاں. تو یہ ن ہے - میں قیمت زیادہ ہے تو کہنے جا رہا ہوں اس نوڈ سے، تو ہم کیا کرتے ہیں؟ سامعین:، تو ہم داخل حق اس سے پہلے کی بات. JASON HIRSCHORN: ٹھیک ہے. تو یہ اس سے زیادہ ہے تو، تو ہم داخل کرنا چاہتے ہیں. لیکن ہم اس سے پہلے داخل کرنا چاہتے ہیں ہم بھی کرنے کی ضرورت ہے کیونکہ ٹریک رکھنے، اس کے بعد، پہلے تھا کیا. تو اس سے پہلے ڈالیں. تو ہم شاید کچھ یاد پہلے پر. ہم شاید رکھنے کے کرنے کی ضرورت ہے کیا ہو رہا ہے کے ٹریک. لیکن ہم وہاں واپس مل جائے گا. تو کیا قیمت سے کم ہے؟ کرٹ، ہم تو میں کیا کروں قیمت سے کم ہے؟ سامعین: تو پھر آپ صرف جا رکھنے کے یہ گزشتہ ایک ہے جب تک. JASON HIRSCHORN: مجھے یہ پسند ہے. تو اگلے نوڈ کرنے کے لئے جانا. یہ گزشتہ ایک ہے جب تک - ہم شاید اس کے لئے کی جانچ پڑتال کر رہے ہیں ایک شرط کے معاملے میں. لیکن ہاں، اگلے نوڈ. اور یہ کہ، بہت کم ہو رہا ہے تو ہم یہاں پر منتقل کریں گے. لیکن اگر - سب یہ دیکھ سکتے ہیں؟ ہم برابر ہو تو ہم کیا کرتے ہیں؟ قیمت ہم داخل کرنے کی کوشش کر رہے ہیں اس نوڈ کی قیمت کے برابر ہے؟ جی ہاں؟ سامعین: [اشراوی]. JASON HIRSCHORN: جی ہاں. اس کو دیکھتے ہوئے - مارکس کا حق ہے. ہم شاید کر سکتا تھا کچھ مختلف. لیکن یہاں، ہم نے اسے پیدا کیا ہے کہ دی ہم آزاد اور پھر واپس آ جانا چاہئے. اوہ لڑکے. بہتر ہے؟ کس طرح ہے؟ ٹھیک ہے. ہم کیا کرتے ہیں تو مفت اور [اشراوی]، واپس؟ ٹھیک ہے. ہم کچھ یاد کر رہے ہیں؟ تو ہم کہاں ٹریک رکھ رہے ہیں پہلے نوڈ کی؟ سامعین: میں اسے جانے گا لگتا ہے کے بعد ایک نیا نوڈ بنانے کے. JASON HIRSCHORN: ٹھیک ہے. تو شروع میں ہم شاید گے - جی ہاں، ہم ایک نئی پوائنٹر بنا سکتے ہیں گزشتہ نوڈ پوائنٹر طرح نوڈ، اور ایک موجودہ نوڈ پوائنٹر. تو یہ یہاں داخل ہیں. بنائیں موجودہ اور گزشتہ نوڈس اشارہ. لیکن جب ہم ان اشارہ ایڈجسٹ کرتے ہیں؟ ہم اس کوڈ میں کہاں کروں؟ جیف؟ سامعین: - قیمت ضوابط؟ JASON HIRSCHORN: کون سا خاص طور پر ایک؟ سامعین میں صرف الجھن میں ہوں. قیمت، اس نوڈ سے بڑا ہے کہ آپ کو جانا چاہتے ہیں اس کا مطلب یہ نہیں ہے اگلے نوڈ؟ JASON HIRSCHHORN: تو ہماری قیمت ہے اس نوڈ کی قیمت سے زیادہ. سامعین: جی ہاں، تو آپ چاہتے ہیں حق، لائن نیچے مزید جانا؟ JASON HIRSCHHORN: ٹھیک ہے. تو ہم یہاں داخل نہیں ہے. قیمت تو، اس نوڈ سے کم ہے تو ہم اگلے نوڈ کرنے کے لئے جانا - تو یا ہم سے پہلے ڈالیں. سامعین: یہ ہے جو، انتظار نوڈ اور جس کی قیمت ہے؟ JASON HIRSCHHORN: اچھا سوال ہے. قیمت اس تقریب کی تعریف کے مطابق ہم دے رہے ہیں کیا ہے. تو قیمت ہم دے رہے ہیں نمبر ہے. تو قیمت اس سے کم ہے تو نوڈ، ہم داخل کرنے کے لیے وقت کی ضرورت ہے. قیمت، اس نوڈ سے بڑا ہے ہم اگلے نوڈ کرنے کے لئے جانا. اور واپس اصل سوال، تاہم، جہاں - سامعین: قیمت زیادہ ہے تو اس نوڈ کے مقابلے میں. JASON HIRSCHHORN: اور تو ہم یہاں کیا کرتے ہیں؟ میٹھی. یہ درست ہے. میں صرف لکھنے جا رہا ہوں اپ ڈیٹ اشارہ. لیکن ہاں، موجودہ ایک کے ساتھ آپ کے لئے اس کو اپ ڈیٹ کرے گا اگلے ایک کی طرف اشارہ. اور کچھ ہم لاپتہ رہے ہیں؟ تو میں نے اس قسم کے لئے جا رہا ہوں gedit کے کوڈ میں. میں یہ کر جبکہ، اگر آپ کو ایک کر سکتے ہیں کوڈنگ پر کام کرنے کے جوڑے منٹ اس سی میں تو میں ان پٹ pseudocode ہے. ہم شروع کرنے سے پہلے ایک فوری نوٹ. ہم قابل مکمل طور پر نہیں کر سکتے ہیں سب میں اس کو ختم ان کے افعال میں سے تین. ان کے لئے صحیح حل ہے میں تم لوگوں کو باہر ای میل کریں گے کہ سیکشن کے بعد، اور یہ CS50.net پر پوسٹ کیا جائے. تو میں آپ کی حوصلہ افزائی نہیں کرتے حصوں پر نظر جانے. میں یہ کوشش کرنے کے لئے آپ کی حوصلہ افزائی آپ مالک، اور اس کے بعد عملی طور پر استعمال کرتے ہیں آپ کے جوابات کو چیک کرنے کے مسائل. یہ تمام ڈیزائن کیا گیا ہے کو قریب سے سے متعلق ہے اور پر عمل کیا آپ کا مسئلہ سیٹ پر کیا کرنا ہے. تو میں نے اس پر عمل کرنے کی حوصلہ افزائی کرتے ہیں اپنے اپنے طور پر اور پھر کوڈ کا استعمال آپ کے جوابات کی جانچ پڑتال. میں ہیش پر منتقل کرنا چاہتے ہیں کیونکہ کے سیکشن میں کچھ نقطہ پر ٹیبل. تو ہم نے اس کے تمام کے ذریعے حاصل نہیں ہو سکتا. لیکن اب ہم ہم کر سکتے ہیں کے طور پر زیادہ کروں گا. ٹھیک ہے. ہم شروع کرتے ہیں. ASAM، ہم کس طرح ایک نیا نوڈ بناؤں؟ سامعین: آپ * struct کی ہے. JASON HIRSCHHORN: تو ہم یہاں اپ ہے. اوہ، معاف کرنا. آپ * struct کے کہہ رہے تھے. سامعین: اور اس کے بعد [؟ قسم کی؟] نوڈ یا C نوڈ. JASON HIRSCHHORN: ٹھیک ہے. میں اس new_node بلا رہا ہوں تو ہم مسلسل رہ سکتے ہیں. سامعین: اور آپ کو اس کے قائم کرنے کے لئے چاہتے ہیں، ، پہلے نوڈ کے سربراہ. JASON HIRSCHHORN: ٹھیک ہے. تو اب اس طرف اشارہ کرتے ہوئے - تو اس ابھی تک ایک نیا نوڈ پیدا نہیں کیا گیا ہے. یہ صرف اشارہ کر رہا ہے فہرست میں پہلے نوڈ. میں کس طرح ایک نیا نوڈ بناؤں؟ میں نے ایک نیا نوڈ بنانے کے لئے جگہ کی ضرورت ہے. MALLOC. اور کتنا بڑا؟ سامعین: struct کے سائز. JASON HIRSCHHORN: struct کے سائز. اور struct کے کیا کہا جاتا ہے؟ سامعین: گھنڈی؟ JASON HIRSCHHORN: نوڈ. تو malloc (کو sizeof (نوڈ))؛ ہمیں جگہ فراہم کرتا ہے. اور اس لائن ہے - ایک بات اس لائن پر غلط ہے. ایک struct پوائنٹر new_node ہے؟ یہ ایک عام نام ہے. یہ کیا ہے - نوڈ، بالکل. یہ * ایک نوڈ ہے. اور ہم حق کے بعد کیا کرتے ہیں ہم آسان کچھ، MALLOC؟ ہم ایسا کرتے ہیں سب سے پہلی چیز کیا ہے؟ کیا یہ کام نہیں کرتا ہے؟ سامعین: اوہ، چیک کریں، تو یہ نوڈ اشارہ؟ JASON HIRSCHHORN: بالکل. تو آپ new_node تو برابر برابر شہوت انگیز null، ہم کیا کرتے ہیں؟ یہ ایک bool، اس تقریب کی واپسی. بالکل ٹھیک. اچھا لگتا ہے. وہاں شامل کرنے کے لئے کچھ ہے؟ ہم آخر میں چیزوں کو شامل کریں گے. لیکن یہ اب تک اچھی لگتی ہے. موجودہ اور گزشتہ اشارہ بنائیں. مائیکل، میں نے یہ کس طرح کروں؟ سامعین: آپ کو ہوگا ایک نوڈ کرنے کے لئے *. آپ کو ایک نہیں کرنا پڑے گا new_node لیکن کے لئے نوڈس ہم نے پہلے ہی ہے. JASON HIRSCHHORN: ٹھیک ہے. تو موجودہ نوڈ ہم ہیں. میں اس curr فون کروں گا. ٹھیک ہے. ہم رکھنا چاہتے ہیں کا فیصلہ کیا ہے ہم جانتے ہیں کرنے کی ضرورت ہے دو کیونکہ کیا اس سے پہلے ہے. وہ کیا ہے initialized کروں؟ سامعین: ہماری فہرست میں ان کی قدر. JASON HIRSCHHORN: تو کیا ہے ہماری فہرست میں سب سے پہلی چیز؟ یا کس طرح ہم جانتے ہیں جہاں ہماری فہرست کا آغاز ہے؟ سامعین: یہ منظور نہیں ہے تقریب میں؟ JASON HIRSCHHORN: ٹھیک ہے. یہ ٹھیک ہے یہاں میں منظور کیا گیا تھا. اس تقریب میں منظور ہے اگر ایسا ہے تو، فہرست کے آغاز، ہم کیا کرنا چاہئے کے برابر موجودہ مقرر؟ سامعین: لسٹ. JASON HIRSCHHORN: لسٹ. بالکل ٹھیک ہے. اب یہ ایڈریس کی ہے ہماری فہرست کے آغاز. اور کیا گزشتہ کے بارے میں؟ سامعین: لسٹ مائنس ون؟ JASON HIRSCHHORN: ہے اس سے پہلے کچھ بھی نہیں. تو ہم کچھ بھی نہیں نشاندہی کرنے کے لئے کیا کر سکتے ہیں؟ سامعین: شہوت انگیز null. JASON HIRSCHHORN: جی ہاں. یہ ایک اچھا خیال کی طرح لگتا ہے. کامل. آپ کا شکریہ. فہرست کے ذریعے جاؤ. کانسٹنٹائن، کتنی دیر تک ہم جا رہے ہیں فہرست کے ذریعے جانے کے لئے؟ سامعین: ہم شہوت انگیز null تک. JASON HIRSCHHORN: ٹھیک ہے. تو، اگر لوپ کے لئے، جبکہ. ہم کیا کر رہے ہیں؟ سامعین: ہو سکتا ہے کہ ایک لوپ کے لئے؟ JASON HIRSCHHORN: کے لوپ کے لئے کرتے ہیں. ٹھیک ہے. سامعین: اور ہم نے کے لئے کہنا ہے کہ - موجودہ پوائنٹر تک شہوت انگیز null برابر نہیں ہے. JASON HIRSCHHORN: تو ہم جانتے ہیں حالت، ہم کس طرح ایک لوپ لکھ سکتے ہیں شرط یہ ہے کہ دور کی بنیاد پر. ہم ایک لوپ کس قسم کا استعمال کرنا چاہئے؟ سامعین: جبکہ. JASON HIRSCHHORN: جی ہاں. اس کی بنیاد پر زیادہ سمجھ میں آتا ہے تم نے کیا سے دور. ہم صرف ہم میں جانا چاہتے ہیں تو یہ کریں گے صرف اس بات کا پتہ، یہ کریں گے جبکہ لوپ کیا احساس. موجودہ برابر نہیں، شہوت انگیز null کرتا ہے، جبکہ قیمت اس نوڈ سے کم ہے تو. Akshar، مجھے اس لائن دے. سامعین: اگر موجودہ> ن (ن) کی قیمت سے بھی کم. یا یہ کہ ریورس. کہ بریکٹ سوئچ. JASON HIRSCHHORN: معذرت. سامعین: بریکٹ تبدیل کریں. JASON HIRSCHHORN: تو یہ ہے قیمت سے زیادہ. اس کے ساتھ الجھا ہے کیونکہ مندرجہ بالا تبصرہ، میں ایسا کرنے جا رہا ہوں. لیکن ہاں. ہماری قیمت اس سے کم ہے تو نوڈ، ہم کیا کرتے ہیں؟ اوہ. میں یہاں یہ ہے. سے پہلے ڈالیں. ٹھیک ہے. ہم اس کو کس طرح کرتے ہیں؟ سامعین: یہ مجھے اب بھی ہے؟ JASON HIRSCHHORN: جی ہاں. سامعین: آپ - new_node اگلا>. JASON HIRSCHHORN: تو کیا ہے کہ برابر کرنے کے لئے جا رہے ہیں؟ سامعین: یہ برابر موجودہ جا رہا ہے. JASON HIRSCHHORN: بالکل. اور اس طرح دیگر - ہم کو اپ ڈیٹ کرنے کے لئے اور کیا کی ضرورت ہے؟ سامعین: ماضی، شہوت انگیز null برابر چیک کریں. JASON HIRSCHHORN: پچھلا ہیں - اگر ایسا ہے تو سابقہ ​​شہوت انگیز null برابر. سامعین: یہ جا رہا ہے کا مطلب سربراہ بننے کے. JASON HIRSCHHORN: اس کا مطلب یہ سر بن گیا ہے. تو پھر ہم کیا کرتے ہیں؟ سامعین: کیا ہم سر کرنا new_node برابر. JASON HIRSCHHORN: سر new_node برابر. اور کیوں درج نہیں، یہاں سر؟ سامعین: سر ایک عالمی ہے شروع کرنے کی جگہ ہے جو متغیر،. JASON HIRSCHHORN: میٹھی. ٹھیک ہے. اور - سامعین: تو پھر تم اور کرتے سابقہ> اگلا new_node برابر. اور پھر آپ حقیقی واپس. JASON HIRSCHHORN: کہاں کرنا ہم new_node آخر مقرر؟ سامعین: میں کرے گا - میں نے شروع میں ہے کہ مقرر. JASON HIRSCHHORN: تو کیا لائن؟ سامعین: کے بعد اگر بیان یہ معلوم ہے اگر جانچ پڑتال. JASON HIRSCHHORN: ٹھیک ہے یہاں؟ سامعین: میں کروں گا new_node> ن قیمت کے برابر ہے. JASON HIRSCHHORN: اچھا لگتا ہے. شاید یہ سمجھ میں آتا ہے - ہم ایسا نہیں کرتے ہم ہیں جو فہرست میں جاننے کی ضرورت ہم صرف کام کر رہے ہو، کیونکہ ایک فہرست کے ساتھ. کے لئے تو ایک بہتر تقریب اعلان یہ صرف اس سے چھٹکارا حاصل کرنے کے لئے ہے مکمل طور پر اور صرف داخل سر میں ایک قیمت. ہم بھی جاننے کی ضرورت نہیں ہے ہم اندر ہیں جو فہرست لیکن اب کے لئے اس کو برقرار رکھنے اور گا اس کے بعد اپ ڈیٹ کرنے پر اسے تبدیل سلائڈ اور کوڈ. تو یہ اب کے لئے اچھا لگ رہا ہے. اگر قیمت - کون اس لائن کر سکتے ہیں؟ تو - ہم نے نوح، یہاں کیا کرتے ہیں. سامعین: قیمت زیادہ ہے تو ن curr> سے - JASON HIRSCHHORN: کس طرح ہم اگلے نوڈ پر جانے کے لئے؟ سامعین: Curr> ن ہے new_node کے برابر. JASON HIRSCHHORN: تو (ن) ہے struct کے کیا حصہ ہے؟ عددی. اور new_node نوڈ پوائنٹر ہے. تو ہم curr کس حصہ کو اپ ڈیٹ کرنا چاہئے؟ نہیں ن، تو دوسرے حصہ کیا ہے؟ نوح، دوسرے حصہ کیا ہے. سامعین: اوہ، اگلے. JASON HIRSCHHORN: اگلا، بالکل. بالکل ٹھیک. اگلا صحیح ہے. اور ہم نے اور کیا کی ضرورت ہے ، نوح کو اپ ڈیٹ کرنے کے لئے؟ سامعین: اشارہ. JASON HIRSCHHORN: تو ہم موجودہ اپ ڈیٹ. سامعین: پچھلا اگلا>. JASON HIRSCHHORN: جی ہاں. ٹھیک ہے، ہم کو روکنے گے. یہاں کون ہماری مدد کر سکتے ہیں؟ مانو، ہمیں کیا کرنا چاہئے؟ سامعین: آپ کی مقرر کردہ ہے یہ curr اگلا> کے برابر. لیکن گزشتہ لائن سے پہلے ایسا. JASON HIRSCHHORN: ٹھیک ہے. اور کچھ؟ Akshar. سامعین: میں تم نہیں لگتا اگلا curr> تبدیل کرنے کے لئے کا مطلب ہے. میں آپ curr برابر کرنے کے لئے مراد رہے ہیں curr اگلا> نوڈ پر جانے کے لئے اگلے. JASON HIRSCHHORN: تو معذرت، کہاں ہے؟ کیا لائن پر؟ یہ لائن؟ سامعین: جی ہاں. بنائیں curr اگلا curr> کے برابر. JASON HIRSCHHORN: تو کیا یہ صحیح ہے موجودہ ہے کیونکہ ایک ایک نوڈ پوائنٹر. اور ہم یہ اگلے کی طرف اشارہ کرنا چاہتے ہیں، فی الحال ہو رہی ہے جو نوڈ کی طرف اشارہ کیا. Curr خود کو ایک اگلے ہے. لیکن ہم اگر curr.next کو اپ ڈیٹ کرنے کے لئے، ہم اصل نوٹ کو اپ ڈیٹ کیا جائے گا خود، نہیں جہاں یہ پوائنٹر کی طرف اشارہ کیا گیا تھا. اس لائن کے بارے میں، اگرچہ. AVI؟ سامعین: پچھلا اگلا> curr برابر. JASON HIRSCHHORN: تو پھر، اگر سابقہ ​​ایک ہے ایک نوڈ پوائنٹر، پچھلا اگلا> ہے نوڈ میں حقیقی پوائنٹر. تو اس کو اپ ڈیٹ کیا جائے گا ایک curr کرنے کے لئے ایک نوڈ میں اشارہ. ہم کو اپ ڈیٹ کرنے کے لئے نہیں کرنا چاہتا ایک نوڈ میں ایک پوائنٹر. ہم گزشتہ اپ ڈیٹ کرنا چاہتے ہیں. تو ہم اس کو کس طرح کرتے ہیں؟ سامعین: یہ صرف سابقہ ​​جائے گا. JASON HIRSCHHORN: ٹھیک ہے. پچھلا ایک نوڈ پوائنٹر ہے. اب ہم ایک کرنے کے لئے اسے تبدیل کر رہے ہیں ایک نوڈ کے لئے نئے پوائنٹر. ٹھیک ہے ہمیں نیچے منتقل. آخر میں، یہ آخری حالت. جیف، ہم یہاں کیا کرتے ہیں؟ سامعین: قیمت ہے تو curr> ن کے برابر. JASON HIRSCHHORN: معذرت. ہے بھگوان. کیا ہے؟ ویلیو == curr> ن. ہم کیا کرتے ہیں؟ سامعین: آپ ہمارے new_node آزاد تھا، اور پھر آپ جھوٹے واپس کروں گا. JASON HIRSCHHORN: یہ کیا ہے ہم نے اب تک لکھا ہے. کوئی کچھ ہے ہم سے پہلے شامل کرنے کے لئے؟ ٹھیک ہے. چلو اس کی کوشش. کنٹرول ختم تک پہنچ سکتے ہیں ایک غیر صفر کی تقریب کی. AVI، کیا ہو رہا ہے؟ سامعین: آپ واپس ڈال کرنے کی توقع کی جاتی ہے جبکہ لوپ سے باہر سچ؟ JASON HIRSCHHORN: میں نہیں جانتا. آپ مجھ سے کرنا چاہتے ہیں؟ سامعین: کوئی بات نہیں. نمبر JASON HIRSCHHORN: Akshar؟ سامعین: میں آپ کا مقصد لگتا ہے آخر میں واپس جھوٹے ڈال جبکہ لوپ کے. JASON HIRSCHHORN: تو جہاں آپ کو اس کے جانے کے لئے چاہتے ہیں؟ سامعین: جبکہ لوپ سے باہر کی طرح. تو آپ کا مطلب ہے کہ جبکہ لوپ سے باہر نکلیں تو آپ کو آخر تک پہنچ گئی اور کیا ہے کہ کچھ نہیں ہوا ہے. JASON HIRSCHHORN: ٹھیک ہے. تو ہم یہاں کیا کرتے ہیں؟ سامعین: تم جھوٹے واپس وہاں اس کے ساتھ ساتھ. JASON HIRSCHHORN: اوہ، کہ ہم دونوں جگہوں میں ایسا؟ سامعین: جی ہاں. JASON HIRSCHHORN: ٹھیک ہے. ہمیں جانا چاہئے؟ ہے بھگوان. میں معافی چاہتا ہوں. میں سکرین کے لئے معذرت خواہ ہیں. یہ قسم کی ہم پر پاگل ہے. تو ایک آپشن منتخب کریں. زیرو، کوڈ کے مطابق، اس پروگرام کے برابر ہے. ایک کچھ اضافہ. تین داخل ہیں. ڈالیں کامیاب نہیں تھا. میں باہر پرنٹ کرنے کے لئے جا رہا ہوں. میں کچھ بھی نہیں ہے. ٹھیک ہے. ہو سکتا ہے کہ صرف ایک عارضی تھا. ایک داخل کریں. کامیاب نہیں. ٹھیک ہے. واقعی جلدی gdb کے ذریعے چلاتے ہیں کیا ہو رہا ہے چیک کرنے کے لیے. کے GDB یاد رکھیں. / نام آپ کا پروگرام GDB میں ہمیں ملتا ہے. ایک بہت کو ہینڈل کرنے میں ہے؟ چمکتا؟ شاید. اپنی آنکھیں بند ہیں اور کچھ گہری لے آپ کو تھکا ہوا ملتا ہے سانس کے اسے دیکھ. میں GDB میں ہوں. GDB میں مجھے کیا کرنا پہلی بات کیا ہے؟ ہم باہر کے اعداد و شمار ہے یہاں کس کا ہو رہا ہے. چلو دیکھتے ہیں. ہم اعداد و شمار کے چھ منٹ ہے کیا ہو رہا ہے باہر. اہم توڑ. اور پھر میں کیا کروں؟ کارلوس؟ چلائیں. ٹھیک ہے. کی ایک آپشن منتخب کرتے ہیں. اور (ن) کیا کرتا ہے؟ اگلا. جی ہاں. سامعین: آپ کا ذکر نہیں کیا - آپ کے سر، یہ تھا کا کہنا ہے کہ نہیں تھا شروع میں، شہوت انگیز null initialized ہے. لیکن میں آپ کو یہ ٹھیک تھا سوچا. JASON HIRSCHHORN: ہم چلتے ہیں - چلو دیکھو GDB میں، اور پھر ہم واپس جائیں گے. آپ نے پہلے ہی کی طرح لیکن یہ لگتا ہے کیا ہو رہا ہے کے بارے میں کچھ خیالات. تو ہم کچھ داخل کرنا چاہتے ہیں. ٹھیک ہے. ہم داخل ہے. ایک int درج کریں. ہم تین داخل کریں گے. اور پھر میں نے اس لائن پر ہوں. میں کس طرح ٹھیک کرنا شروع کرتے ہیں داخل تقریب پر جانا جاتا ہے؟ ہے بھگوان. یہ بہت ہے. کہ ایک بہت پاگل ہے؟ سامعین: اوہ، یہ مر گیا. JASON HIRSCHHORN: میں صرف اسے باہر نکالا. ٹھیک ہے. سامعین: ہو سکتا ہے تار کے دوسرے سرے. JASON HIRSCHHORN: واہ. تو نیچے لائن - آپ نے کیا کہا؟ سامعین: میں نے کہا ہے کہ تکنیکی کی وڈمبنا اس کلاس میں مشکلات. JASON HIRSCHHORN: مجھے معلوم ہے. صرف اس صورت میں اس حصے پر کنٹرول تھا. [اشراوی] یہ بہت اچھا لگتا ہے. کیوں تم لوگ کے بارے میں سوچنا شروع نہ کرو کیا ہم غلط کر سکتا تھا، اور ہم واپس 90 سیکنڈ میں ہو جائے گا. Avica، میں کس طرح جانے کے لئے تم سے پوچھنا جا رہا ہوں یہ ڈیبگ کے اندر insert_node. ہم نے گزشتہ چھوڑ دیا جہاں تو یہ ہے. میں کس طرح insert_node کے اندر جانا ہے، Avica، کیا ہو رہا ہے کی جانچ پڑتال کرنے کے لئے؟ کیا gdb کا حکم؟ توڑ مجھے اندر نہیں لے گا. Marquise معلوم ہے؟ سامعین: کیا؟ JASON HIRSCHHORN: کیا gdb کا حکم میں اس تقریب کے اندر جانے کے لئے استعمال کرتے ہیں؟ سامعین: قدم؟ JASON HIRSCHHORN: VIA مرحلہ مجھے اندر لیتا ہے کہ ایس. ٹھیک ہے. New_node کچھ جگہ mallocing. اس کے تمام جا کی طرح لگتا ہے. کی new_node جائزہ لیتے ہیں. یہ کچھ میموری کا پتہ مل گیا. چیک کرتے ہیں - یہ سب درست ہے. تو یہاں سب کچھ لگتا ہے صحیح طریقے سے کام کیا جائے. سامعین: کیا فرق ہے P اور ڈسپلے کے درمیان؟ JASON HIRSCHHORN: P تعداد کے لئے کھڑا ہے. اور اس لئے تم کیا پوچھ رہے ہیں اور یہ کہ اس کے درمیان فرق؟ اس صورت میں، کچھ بھی نہیں. لیکن عام طور پر موجود ہیں کچھ اختلافات. اور تم GDB دستی میں نظر آنا چاہئے. لیکن اس معاملے میں، کچھ بھی نہیں. ہم، اگرچہ، پرنٹ استعمال کرتے ہیں کیونکہ ہم زیادہ سے زیادہ کرنے کی ضرورت نہیں ہے ایک قدر کو پرنٹ. ٹھیک ہے. تو ہم نے، اپنے کوڈ کی لائن 80 پر ہیں فہرست کے برابر نوڈ * curr ترتیب. ہم curr باہر پرنٹ. اس فہرست کے برابر ہے. میٹھی. انتظار کریں. یہ کچھ کے برابر ہے. یہ ٹھیک نہیں لگتا. ہم وہاں چلتے ہیں. یہ GDB میں، حق، کیونکہ اگر یہ آپ کو اس پر ہیں لائن ہے ابھی تک پھانسی نہیں کیا گیا ہے. تو اگر آپ اصل میں ٹائپ کرنے کی ضرورت لائن پر عمل کرنے کے لئے اگلے اس کے نتائج دیکھ کر سے پہلے. تو ہم یہاں ہیں. ہم صرف اس لائن کو پھانسی دے دی، گزشتہ شہوت انگیز null برابر. تو پھر، ہم نے گزشتہ پرنٹ ہم عجیب کچھ بھی نظر نہیں آئے گا. لیکن ہم اصل میں اس پھانسی تو لائن، پھر ہم دیکھیں گے اس لائن کام کیا. تو ہم curr ہے. وہ دونوں اچھے ہیں. ٹھیک ہے نا؟ اب ہم یہیں اس لائن پر ہیں. curr برابر نل نہیں ہے. ٹھیک ہے، curr برابر کیا کرتا ہے؟ ہم صرف یہ نل برابری دیکھا. ہم اسے باہر طباعت. میں نے پھر اسے باہر پرنٹ کریں گے. تو یہ ہے کہ جبکہ لوپ پر عمل کرنے جا رہے ہیں؟ سامعین: نمبر JASON HIRSCHHORN: تو میں ٹائپ جب کہ لائن، آپ ہم سب کو جس طرح سے چھلانگ لگا دیکھ نیچے نیچے، جھوٹے واپس. اور پھر ہم جھوٹے واپس جا رہے ہیں اور ہمارے پروگرام کے لئے واپس جاؤ اور ہم نے دیکھا کی طرح آخر میں، پرنٹ، ڈالیں کامیاب نہیں تھا. تو، کسی کو کیا پر کسی بھی خیالات ہیں ہم اس کو ٹھیک کرنے کے لئے کرنے کی ضرورت ہے؟ میں دیکھنے تک انتظار کرنے جا رہا ہوں ہاتھ کے ایک جوڑے کے جانے کے. ہم اس پر عمل نہیں کیا. ذہن میں رکھیں، اس سے پہلے تھا ہم کیا کر رہے بات یہ ہے. میں کچھ کرنے کے لئے نہیں جا رہا ہوں. میں نے کچھ کرنے جا رہا ہوں. ایک جوڑے کے دو مطلب ہے. میں دو سے زیادہ کے لئے انتظار کریں گے. سب سے پہلے اندراج، curr، پہلے سے طے شدہ، شہوت انگیز null برابر کی طرف سے. اور اس لوپ صرف executes ہے curr، شہوت انگیز null نہیں ہے. تو کس طرح میں اس کے ارد گرد حاصل کر سکتے ہیں؟ میں نے تین ہاتھ دیکھ. میں تین سے زیادہ کے لئے انتظار کریں گے. مارکس، آپ کو کیا لگتا ہے؟ سامعین:، آپ کو اس کی ضرورت ہے تو ، ایک بار سے زیادہ پھانسی آپ کو صرف کیا جبکہ ایک لوپ اسے تبدیل. JASON HIRSCHHORN: ٹھیک ہے. تاہم، ہمارا مسئلہ حل ہو جائے گا؟ سامعین: اس معاملے میں کوئی کی وجہ سے فہرست خالی ہے حقیقت یہ ہے کہ. تو پھر آپ شاید صرف شامل کرنے کی ضرورت ایک بیان کہ اگر لوپ راستے تو پھر آپ کے آخر میں ہونا ہے آپ کی طرف اشارہ ہے جس میں فہرست، صرف اسے داخل کر سکتے ہیں. JASON HIRSCHHORN: مجھے یہ پسند ہے. یہ سمجھ میں آتا ہے. لوپ راستے ہیں - یہاں جھوٹے واپس کریں گے. تو لوپ راستے، تو ہم میں ہیں شاید فہرست کے آخر، یا میں کچھ بھی نہیں ہے اگر فہرست کے آغاز یہ، جس کے آخر کے طور پر ایک ہی ہے. تو اب ہم داخل کرنا چاہتے ہیں یہاں کچھ. تو کس طرح اس کوڈ، مارکس لگتی ہے؟ سامعین: کیا آپ پہلے نوڈ ہے تو malloced، آپ کو صرف کہہ سکتے ہیں new_node اگلا> شہوت انگیز null کیونکہ برابر یہ آخر میں ہونا ضروری ہے. یا new_node اگلا> شہوت انگیز null برابر. JASON HIRSCHHORN: ٹھیک ہے. معذرت. New_node اگلا> شہوت انگیز null برابر ہم آخر میں ہیں کیونکہ. یہ اندر ڈال نہیں ہے کس طرح ہم نے اس فہرست میں ڈال دیا ہے؟ ٹھیک ہے. یہ صرف برابر اس کی ترتیب. کوئی ہم کس طرح اصل میں کرتے ہیں فہرست میں ڈال دیا؟ کی طرف اشارہ ہے کیا فہرست کے آخر؟ سامعین: سر. JASON HIRSCHHORN: معاف کیجئے گا؟ سامعین: سر کی طرف اشارہ کیا جاتا ہے فہرست کے اختتام پر. JASON HIRSCHHORN: کچھ بھی نہیں میں ہے تو فہرست، سر کی طرف اشارہ کیا جاتا ہے فہرست کے آخر. تو اس کے لئے کام کریں گے سب سے پہلے اندراج. ایک جوڑے کی ہیں کے بارے میں کیا تو فہرست میں ہے؟ ہم قائم کرنے کے لئے نہیں کرنا چاہتے سے new_node کے برابر سر. کیا ہم وہاں کیا کرنا چاہتے ہیں؟ جی ہاں؟ شاید پچھلے. کہ کام کرے گا؟ پچھلے صرف ہے یاد ہے کہ ایک نوڈ پوائنٹر. اور گزشتہ ایک مقامی متغیر ہے. تو اس لائن ایک مقامی متغیر قائم کرے گا، ، گزشتہ کے برابر یا اس نئے نوڈ کی طرف اشارہ کرتے ہوئے. یہ اصل میں ڈال دیا جائے گا ہماری فہرست میں، اگرچہ. کس طرح ہم نے اسے ہماری فہرست میں ڈال دیا ہے؟ Akchar؟ سامعین: میں آپ کو لگتا ہے اگلا موجودہ> کرتے. JASON HIRSCHHORN: ٹھیک ہے. curr اگلا>. تو پھر، ہم ہیں صرف ایک وجہ یہاں ہے، کیا برابر موجودہ کرتا ہے؟ سامعین: شہوت انگیز null برابر. JASON HIRSCHHORN: اور تو کیا ہم اگلے شہوت انگیز null> کرتے ہیں تو کیا ہوتا ہے؟ کیا ہم حاصل کرنے کے لئے جا رہا ہے؟ ہم نے ایک انقطاع غلطی ملے گی. سامعین: کیا curr، شہوت انگیز null برابر. JASON HIRSCHHORN: یہ ایک ہی بات ہے سابقہ ​​کے طور پر، اگرچہ، کیونکہ وہاں ہم کر رہے ہیں ایک مقامی متغیر اس نئے نوڈ کے برابر. کی ہماری تصویر پر واپس جانے دو کے بارے میں کچھ داخل. ہم آخر میں داخل کر رہے ہیں فہرست میں، یہاں تو. ہم ہے کہ ایک موجودہ پوائنٹر ہے شہوت انگیز null اشارہ اور ایک پچھلے نقطہ کہ 8 کی طرف اشارہ ہے. تو کیا ہم AVI، کو اپ ڈیٹ کرنے کی ضرورت ہے؟ سامعین: پچھلا اگلا>؟ JASON HIRSCHHORN: پچھلا اگلا> کیا ہے ہم کو اپ ڈیٹ کرنا چاہتے ہیں اس کی وجہ سے اصل میں داخل کریں گے فہرست کے آخر. ہم اب بھی، اگرچہ، ایک بگ ہے ہم میں چلانے کے لئے جا رہے ہیں. کہ بگ کیا ہے؟ جی ہاں؟ سامعین: یہ واپس جا رہا ہے اس کیس میں جھوٹی؟ JASON HIRSCHHORN: اوہ، ہے جھوٹے واپس جا. لیکن ایک مسئلے سے ہے. تو ہم سچ واپس میں ڈال کرنے کی ضرورت ہو گی. سامعین: ہے گزشتہ اب بھی برابر فہرست کے سب سے اوپر، شہوت انگیز null؟ JASON HIRSCHHORN: تو پچھلے بھی بہت شروع میں شہوت انگیز null برابر. تو کس طرح ہم اس سے زیادہ حاصل کر سکتے ہیں؟ جی ہاں؟ سامعین: میں آپ کو ایک چیک کر سکتے ہیں لگتا ہے اگر اس کے دیر لوپ کو دیکھنے کے لئے اس سے پہلے کہ ایک خالی فہرست. JASON HIRSCHHORN: ٹھیک ہے. تو یہاں جانے. چیک کرتے ہیں. تو - سامعین: تو اگر سر برابر شہوت انگیز null برابر. JASON HIRSCHHORN: اگر سر برابر شہوت انگیز null برابر - یہ ایک خالی فہرست ہے کہ اگر ہمیں بتائیں گے. تو اور تم سامعین: ایسا سر نیا برابر. JASON HIRSCHHORN: سر new_node برابر ہے؟ اور کیا ہم کیا کرنے کی ضرورت ہے؟ سامعین: اور پھر آپ حقیقی واپس. JASON HIRSCHHORN: کافی نہیں. ہم ایک قدم لاپتہ کر رہے ہیں. سامعین: New_node اگلا شہوت انگیز null کی طرف اشارہ کرنے کے لئے ہے. JASON HIRSCHHORN: بالکل، Alden. اور پھر ہم سچ واپس آ سکتے ہیں. ٹھیک ہے. لیکن یہ اب بھی کام کرنے کی ایک اچھا خیال ہے فہرست کے آخر میں، ٹھیک ہے؟ ٹھیک ہے. ہم اب بھی اصل میں ہو سکتا ہے فہرست کے اختتام پر. ہم میں ہیں تو یہ کوڈ ٹھیک ہے فہرست کے آخر اور کچھ نہیں ہیں فہرست میں ہے؟ ٹھیک ہے نا؟ ہم اب بھی مارکس خیال ہے کیونکہ. ہم اس لوپ سے باہر نکلنے سکتا ہے کیونکہ ہم نے فہرست کے آخر میں ہیں. تو ہم اب بھی اس چاہتے ہیں یہاں نیچے کوڈ؟ سامعین: جی ہاں. JASON HIRSCHHORN: جی ہاں. اور کیا ہم اس کو تبدیل کرنے کے لئے کی ضرورت ہے؟ یہ سچ ہے. کرتا ہے آواز اچھی ہر کسی کو اب تک؟ کوئی بھی کسی بھی ہے - AVI، آپ کو شامل کرنے کے لئے کچھ ہے؟ سامعین: نمبر JASON HIRSCHHORN: ٹھیک ہے. تو ہم تبدیلیوں کے ایک جوڑے کی ہے. ہم سے پہلے یہ چیک کر لیا ہے ایک خالی فہرست کے لئے میں چلا گیا. تو ہم نے ایک خالی فہرست کی دیکھ بھال ہے. اور ہم یہاں داخل کی دیکھ بھال لیا فہرست کے آخر میں کچھ. تو یہ اس دیر لوپ لینے کی طرح لگتا ہے درمیان میں چیزوں کا خیال، کہیں فہرست میں اگر وہاں چیزوں کی فہرست میں ہیں. ٹھیک ہے. ہم ایک بار پھر اس پروگرام چلاتے ہیں. کامیاب نہیں. سامعین: تم نے یہ نہیں کیا. JASON HIRSCHHORN: اوہ، میں نے یہ نہیں کیا. اچھی بات، مائیکل. کی منسلک ایک بنانے میں شامل ہیں. لائن 87 میں ایک خامی ہے. لائن 87. Alden، یہ آپ نے مجھے دیا لائن تھی. کیا مسئلہ ہے؟ سامعین: یہ نل پر ہونا ضروری ہے. JASON HIRSCHHORN: بہترین. بالکل صحیح. یہ نل ہونا چاہئے. پھر بنا دو. آرکائیو. ٹھیک ہے. تین داخل ہیں. ڈالیں کامیاب تھا. اسے باہر پرنٹ. اوہ، صرف ہم چیک کر سکتے ہیں. لیکن ہم نے نہیں کیا ہے ابھی تقریب پرنٹ. کچھ اور درج کریں. ہم کیا درج کرنا چاہئے؟ سامعین: سات. JASON HIRSCHHORN: سات؟ سامعین: جی ہاں. JASON HIRSCHHORN: ہم نے ایک SEG غلطی ہے. تو ہم نے ایک مل گیا ہے، لیکن ہم واضح طور پر دو حاصل نہیں کر سکتے. یہ 5:07 ہے. تو ہم اس ڈیبگ کر سکتے ہیں تین منٹ کے لئے. لیکن میں یہاں ہمیں چھوڑ کر جا رہا ہوں اور میزیں ہیش پر منتقل. لیکن پھر، اس کوڈ کے لئے جوابات میں نے تھوڑا سا میں آپ کو ای میل کرے گا. ہم اس کے بہت قریب ہیں. میں انتہائی پتہ کرنے کے لئے آپ کی حوصلہ افزائی کیا ہو رہا ہے یہاں اور یہ طے کر. تو میں نے کے طور پر آپ اس کوڈ کو ای میل کریں گے پلس حل - بعد میں شاید حل. سب سے پہلے اس کوڈ. میں نے ہم سے پہلے کرنا چاہتے ہیں دوسری بات یہ ہے ختم ہم کچھ آزاد نہیں کیا ہے. تو میں آپ کو ظاہر کرنے کے لئے چاہتے ہیں valgrind کی طرح لگتا ہے. ہم valgrind حدود چلاتے ہیں ہمارے پروگرام پر،. / منسلک. ایک بار پھر، اس سلائڈ کے مطابق، ہم کچھ قسم کے ساتھ valgrind چلانا چاہئے اس معاملے میں اختیار، - = لیک چیک کرنے مکمل. تو valgrind لکھنے - = لیک چیک کرنے مکمل. تو اس valgrind چلایا جائے گا ہمارے پروگرام پر. اور اب پروگرام اصل میں چلتا ہے. تو ہم صرف کی طرح اسے چلانے کے لئے جا رہے ہیں اس سے پہلے، اندر کچھ ڈال میں نے تین میں ڈال دیا جا رہا ہوں. یہ کام کرتا ہے. میں کچھ میں ڈال کرنے کی کوشش کرنے کے لئے نہیں جا رہا ہوں ہم جا رہے ہیں اور اس وجہ سے اس صورت میں ایک SEG جھوٹے حاصل. تو میں صرف چھوڑنے جا رہا ہوں. اور اب آپ یہاں دیکھ لیک اور ڈھیر خلاصہ. یہ اچھی چیزیں ہیں آپ کو چیک کرنے کے لیے چاہتے ہیں. تو ڈھیر خلاصہ - اس کا کہنا ہے، استعمال میں باہر نکلیں - ایک بلاک میں آٹھ بائٹس. یہ ایک بلاک ہے نوڈ ہم malloced. مائیکل، آپ کو ایک نوڈ آٹھ ہے اس سے پہلے انہوں نے کہا کہ یہ عددی ہے کے کاٹنے کی وجہ سے اور پوئینٹر. تو یہ ہمارا نوڈ ہے. اور پھر یہ ہم malloc کا استعمال کیا جاتا ہے کا کہنا ہے کہ سات بار اور ہم آزاد کچھ چھ بار. لیکن ہم مفت کہا جاتا ہے کبھی نہیں، تو میں نے کوئی اس کے بارے میں بات کر رہا ہے کیا خیال ہے. لیکن یہ کہنا کافی ہے کہ جب آپ پروگرام بھی چلاتی ہے، malloc کا کہا جا رہا ہے کچھ دوسرے مقامات پر ہے کہ ہم کے بارے میں فکر کرنے کی ضرورت نہیں. تو malloc شاید بلایا گیا تھا کچھ جگہوں پر. ہم جہاں میں فکر کرنے کی ضرورت نہیں ہے. لیکن یہ واقعی ہمیں ہے. یہ پہلی سطر ہم ہیں. ہم اس بلاک کو چھوڑ دیا. اور تم نے یہاں دیکھ سکتے ہیں لیک سمری میں. پھر بھی لگ رہا - ایک بلاک میں آٹھ بائٹس. کہ میموری کا مطلب ہے - ہم کہ میموری لیک ہے. یقینی طور پر کھو دیا ہے - کچھ اچھے کے لیے کھو دیا ہے. عام طور پر، آپ نہیں کریں گے وہاں کچھ بھی نہیں دیکھ. پھر بھی لگ رہا عام طور پر ہے جہاں آپ چاہتے ہیں کریں گے جہاں آپ کو، چیزوں کو دیکھ لیں گے کیا کوڈ آپ کو کرنا چاہئے کو دیکھنے کے لئے ملاحظہ کرنے کے لئے آزاد لیکن آپ کو آزاد کرنے کے لئے بھول گیا ہے. اور پھر اس کیس نہیں تھا ہم ڈاؤن لوڈ، اتارنا سب کچھ کیا ہے، ہم اس چیک کر سکتے ہیں. صرف پروگرام چلاتے ہیں کسی بھی چیز میں نہیں ڈال. آپ باہر نکلیں استعمال میں یہاں نظر آئے گا - صفر بلاکس میں صفر بائٹس. یہی وجہ ہے کہ ہم نے چھوڑ دیا کچھ بھی نہیں تھا مطلب اس پروگرام کے باہر جب. تو pset6 میں تبدیل کرنے سے پہلے، valgrind چلانے اور یقین ہے کہ آپ کی ضرورت نہیں ہے بنانے کے کسی بھی میموری آپ کے پروگرام میں لیک. آپ Valgrind کے ساتھ کوئی سوال ہے تو، باہر تک پہنچنے کے لئے آزاد محسوس کرتے ہیں. لیکن اس سے آپ کو اس کا استعمال کس طرح ہے. بہت آسان - اگر آپ کو دیکھ باہر نکلیں استعمال میں ہے - کسی بھی بلاکس میں کسی بھی بائٹس. تو ہم ڈالیں نوڈ پر کام کر رہے تھے. میں یہاں دو دیگر افعال تھا - نوڈس اور مفت نوڈس پرنٹ. ایک بار پھر، یہ ہیں کہ افعال ہیں آپ کی مشق کرنے کے لئے اچھا ہو جا ان کے ساتھ آپ کو نہ صرف مدد ملے گی کیونکہ ان نمونہ مشقوں بلکہ مسئلہ سیٹ. وہ چیزوں کو بہت قریب سے پر نقشہ آپ میں کیا کرنے جا رہے ہیں مسئلہ سیٹ کی. لیکن میں اس بات کو یقینی بنانا چاہتے ہیں ہم ہر چیز پر کو چھو. اور ہیش میزیں بھی اہم ہیں ہم سیکشن اس میں کیا کر رہے ہیں ہفتہ - یا مسئلہ سیٹ میں. تو ہم سیکشن ختم کرنے کے لئے جا رہے ہیں ہیش میزیں کے بارے میں بات. آپ کو نوٹس، تو میں نے ایک تھوڑا ہیش کی میز. کہ ہم بات کر رہے ہیں کیا نہیں ہے تاہم، کے بارے میں. ہم ایک مختلف بات کر رہے ہیں ہیش میزیں کی قسم. اور اس کے بنیادی، ایک ہیش کی میز پر ایک سے زیادہ کچھ نہیں ہے صف کے علاوہ ایک ہیش تقریب. ہم صرف کرنے کے لئے تھوڑا سا کے لئے بات کرنے کے لئے جا رہے ہیں اس بات کا یقین سب کو کیا سمجھتی بنانے ہیش فنکشن ہے. اور میں یہ ہے کہ اب آپ کو بتا رہا ہوں دو چیزوں سے زیادہ کچھ نہیں - ایک صف اور ایک ہیش تقریب. اور یہاں اقدامات کے ذریعے کر رہے ہیں جو اس چلاتا ہے. ہمارے صف ہے. ہماری تقریب ہے. خاص طور پر، ہیش افعال کرنے کی ضرورت ہے اس کے ساتھ ایک دو چیزوں کی کرتے ہیں. میں خاص طور پر بات کرنے کے لئے جا رہا ہوں کے بارے میں اس مسئلہ کو مقرر کیا. شاید یہ جا رہا ہے ایک تار میں لے. اور کیا اس کو واپس جا رہا ہے؟ کیا ڈیٹا کی قسم؟ Alden؟ آپ ہیش تقریب واپس؟ ایک عددی. تو اس کا کیا ہیش ہے ٹیبل پر مشتمل ہے - صف کی شکل میں ایک میز اور ایک ہیش تقریب. یہ کس طرح کام کرتا ہے؟ یہ تین مراحل میں کام کرتا ہے. ہم اس ایک اہم دے. اس صورت میں، ہم نے یہ ایک تار دے دونگا. ہم قدم ایک فی ہیش فنکشن کال کلید پر اور ہم ایک قیمت حاصل. خاص طور پر، ہم کہیں گے ہم ایک عددی حاصل. اس عددی، بہت ہی خاص ہیں اس عددی کر سکتے ہیں، کی حد. اس مثال میں، ہمارے صف سائز تین میں سے ایک ہے. تو اس عددی کیا تعداد ہو سکتا ہے. قدریں کی حد کیا ہے اس عددی، اس کی واپسی کی قسم تقریب ہیش؟ صفر، ایک اور دو. ہیش تقریب کے نقطہ کرنے کے لئے ہے صف میں اعداد و شمار ہمارے اہم کہاں جا رہا ہے. صرف تین ممکن ہیں یہاں مقامات - صفر، ایک، دو یا دو سے. تو اس تقریب بہتر واپسی صفر، ایک، دو یا دو سے. اس صف میں کچھ درست سدنوں. اور پھر، اسے واپس جہاں پر منحصر ہے آپ کو کھلی وہاں صف میں دیکھ سکتے ہیں قیمت بریکٹ. ہم اہم ڈال دیا جہاں ہے. تو ہم قددو میں پھینک، ہم صفر باہر حاصل. صف بریکٹ 0 سے، ہم قددو ڈال دیا. ہم ہم ایک باہر حاصل کرنے، بلیوں میں پھینک. ہم ایک میں بلی ڈال دیا. ہم مکڑی میں ڈال دیا. ہم نے دو باہر حاصل. ہم صف بریکٹ دو میں مکڑی ڈال دیا. یہ بہت اچھا ہو گا اگر یہ اس طرح کام کیا. لیکن بدقسمتی سے، ہم، دیکھ لیں گے کے طور پر یہ تھوڑا سا زیادہ پیچیدہ ہے. ہم وہاں کسی بھی سوال سے پہلے کے بارے میں یہ بنیادی ایک ہیش میز کے سیٹ اپ؟ یہ بالکل کی ایک تصویر ہے ہم بورڈ پر متوجہ کیا. لیکن اس کے بعد ہم نے، بورڈ پر مبذول کرائی مزید اس میں جانے کے لئے نہیں جا رہا ہوں. بنیادی چابیاں، جادو بلیک باکس - یا اس کیس میں، نیلگوں ہرا باکس - ایک سے ہیش تقریب بالٹیاں میں ان رکھتا ہے. اور اس مثال میں ہم نام نہیں ڈال. ہم منسلک فون ڈال رہے ہیں بالٹی میں نام کی تعداد. لیکن آپ کو بہت اچھی طرح سے کر سکتے ہیں، صرف بالٹی میں نام ڈال دیا. یہ کیا صرف ایک تصویر ہے ہم بورڈ پر مبذول کرائی. ہم اگرچہ، ممکنہ غلطیوں ہے. اور دو خاص طور پر موجود ہیں میں پر جانے کے لئے چاہتے ہیں کہ سلائڈ. سب سے پہلے ایک کے بارے میں ہے ایک ہیش تقریب. تو میں سوال کیا ایک اچھی ہیش فنکشن ہے؟ میں دو جوابات دے. سب سے پہلے اس نیتاتمک ہے ہے. ہیش افعال کے تناظر میں، اس کا کیا مطلب ہے؟ جی ہاں؟ سامعین: اس کی تلاش کر سکتے ہیں مسلسل وقت میں انڈیکس؟ JASON HIRSCHHORN: یہ اس کا مطلب یہ نہیں ہے. لیکن یہ ایک اچھا اندازہ ہے. کسی ایک اندازہ ہے اس کا مطلب کیا ہے؟ یہ ایک اچھی ہیش تقریب نیتاتمک ہے؟ ینی؟ سامعین: ایک اہم صرف مائچترت کیا جا سکتا ہے ہیش ٹیبل میں ایک جگہ پر. JASON HIRSCHHORN: ہے بالکل صحیح. آپ قددو میں ڈال دیا ہر وقت، یہ ہمیشہ صفر کی واپسی. آپ قددو اور آپ کے ہیش میں ڈال دیا تو تقریب صفر کی واپسی لیکن ایک ہے کچھ واپس لوٹنے کے امکانات صفر سے اور زیادہ سے زیادہ - تو شاید یہ کبھی کبھی ایک واپس آ سکتے ہیں یا دو دوسرے اوقات - یہ ایک اچھی ہیش تقریب نہیں ہے. تم بالکل ٹھیک کہہ رہے ہو. آپ ہیش تقریب واپس آ جانا چاہئے کے لئے اس معاملے میں ایک ہی عین مطابق عددی،، ایک ہی عین مطابق سٹرنگ. شاید یہ ایک ہی عین مطابق عددی واپسی ایک ہی عین مطابق سٹرنگ کے لئے قطع نظر اس کے بڑے حروف تہجی کے. لیکن اس صورت میں یہ اب بھی ہے نیتاتمک ہے کیونکہ ایک سے زیادہ چیزیں ایک ہی قیمت پر مائچترت ہیں. یہ ٹھیک ہے. جب تک صرف ایک ہے کے طور پر ایک دیئے گئے ان پٹ کے لئے پیداوار. ٹھیک ہے. دوسری بات یہ ہے کہ یہ درست سوچکانکوں واپس. ہم نے اس سے پہلے لایا. یہ ہیش تقریب - اوہ لڑکے - ایک ہیش فنکشن چاہئے درست سوچکانکوں واپس. تو کہنا ہے کہ - کی اس مثال کے طور پر جانے. میرا ہیش تقریب کو شمار لفظ میں حروف. اس ہیش تقریب ہے. اور یہ کہ عددی واپسی. میں لفظ ایک ہے اگر ایسا ہے تو، یہ ہے ایک واپس جا رہا. اور یہ یہاں ڈال دیا جا رہا ہے. کیا میں لفظ بیٹ میں ڈال دیا تو کیا ہوگا؟ یہ تین واپس جا رہا ہے. کہاں بیٹ جاتا ہے؟ یہ قابل نہیں ہے. لیکن یہ کہیں جانے کی ضرورت. اس کے بعد میرے تمام ہیش کی میز ہے، اور سب کچھ کہیں جانے کی ضرورت. تو جہاں بیٹ جانا چاہئے؟ کوئی خیال؟ اندازے؟ اچھا اندازہ؟ سامعین: صفر. JASON HIRSCHHORN: کیوں صفر؟ سامعین: کیونکہ تین modulo ہے تین صفر ہے؟ JASON HIRSCHHORN: تین modulo ہے تین صفر ہے. یہ ایک بہت اچھا اندازہ ہے، اور یہ کہ صحیح ہے. تو اس صورت میں یہ ہونا چاہئے شاید صفر پر جانا. تو ایک اچھا طریقہ یقینی بنانے کے لئے کہ یہ ہیش تقریب صرف درست سوچکانکوں ہے واپس ٹیبل کے سائز کی طرف سے اس modulo ہے کرنے کے لئے. آپ کی طرف سے جو کچھ بھی اس کی واپسی کو modulo ہے تو تین، آپ کو ہمیشہ حاصل کرنے کے لئے جا رہے ہیں صفر، ایک، اور دو کے درمیان کچھ. اور یہ ہمیشہ سات واپس، اور اگر آپ کو ہمیشہ تین کی طرف سے modulo ہے، تم ہو ہمیشہ ایک ہی چیز کو حاصل کرنے کے لئے جا. تو یہ اب بھی نیتاتمک ہے آپ modulo ہے تو. لیکن اس بات کا یقین کرے گا کہ آپ اس کچھ حاصل کبھی نہیں - ایک غلط صنعت. عام طور پر، کہ modulo ہے ہونا چاہئے آپ ہیش تقریب کے اندر. تو آپ کو اس کے بارے میں فکر کرنے کی ضرورت نہیں ہے. آپ صرف اس بات کا یقین کر سکتے ہیں یہ ایک درست سدنوں ہے. اس پر کوئی سوال ممکنہ خطرہ؟ ٹھیک ہے. اور ہم وہاں چلتے ہیں. اگلا ممکنہ خطرہ، اور یہ بڑا میں سے ایک ہے. اگر دو چابیاں کا نقشہ ایک ہی قیمت کے لئے؟ تو اس کو ہینڈل کرنے کے دو طریقے ہیں. سب سے پہلے ایک لکیری کہا جاتا ہے میں ہوں، جس کی تحقیقات پر جانے کے لئے نہیں جا رہا. لیکن آپ سے واقف ہونا چاہئے کہ کس طرح کہ کام کرتا ہے اور وہ کیا ہے. میں پر جانے کے لئے جا رہا ہوں اور دوسرا شخص کہ بہت سے ایک ہے کیونکہ لوگ شاید فیصلہ ختم ہو جائے گی ان کا مسئلہ سیٹ میں استعمال کرنے کے لئے. کورس کے، آپ کی ضرورت نہیں ہے. لیکن مسئلہ سیٹ، بہت سے لوگوں کے لئے ایک ہیش ٹیبل بنانے کے لئے منتخب کرنے کے لئے ہوتے ہیں لاگو کرنے کے لئے الگ الگ جکڑا جانا؟ کے ساتھ ان کی ڈکشنری. تو ہم اس کا کیا مطلب ہے پر جانے کے لئے جا رہے ہیں کے ساتھ ایک ہیش ٹیبل بنانے کے لئے علیحدہ جکڑا جانا؟. تو میں قددو میں ڈال دیا. یہ صفر کی واپسی. اور میں یہاں قددو ڈال دیا. اس کے بعد میں میں ڈال دیا - ایک اور ہالووین تیمادارت بات کیا ہے؟ سامعین: کینڈی. JASON HIRSCHHORN: کینڈی! یہ ایک عظیم میں سے ایک ہے. میں کینڈی، اور کینڈی میں ڈال دیا مجھے بھی صفر ہے. میں کیا کروں؟ کوئی خیال ہے؟ آپ سب کی طرح معلوم ہے علیحدہ کیا جکڑا جانا؟ ہے. تو کسی بھی خیالات کیا؟ جی ہاں. سامعین: سٹرنگ ڈال اصل میں ہیش ٹیبل میں. JASON HIRSCHHORN: تو ہم جا رہے ہیں یہاں پر اچھا خیال اپنی طرف متوجہ. ٹھیک ہے. سامعین: hashtable ہے [اشراوی] اشارہ اس پوائنٹر ایک فہرست کے آغاز. اور پھر قددو پہلی قدر ہے اس منسلک فہرست اور کینڈی میں ہو اس منسلک فہرست میں دوسری قیمت. JASON HIRSCHHORN: ٹھیک ہے. مارکس، کہ بقایا تھا. میں نے اس کو توڑنے کے لئے جا رہا ہوں. مارکس کر کہہ رہا ہے نہیں قددو ادلیکھت. یہ خراب ہو جائے گی. کہیں اور کینڈی مت ڈالو. ہم صفر پر دونوں ڈال کرنے جا رہے ہیں. لیکن ہم سے نمٹنے کے لئے جا رہے ہیں کی طرف سے صفر پر ڈال صفر پر ایک فہرست بنانے کے. اور ہم کی ایک فہرست بنانے کے لئے جا رہے ہیں صفر مائچترت ہے کہ سب کچھ. اور ہم نے تیار کرنا سیکھا بہترین طریقہ اضافہ اور سکڑ کر سکتے ہیں کی ایک فہرست متحرک طور پر کے اندر اندر نہیں ہے ایک صف. تو ایک کثیر جہتی صف. لیکن صرف ایک لنک کی فہرست بنانے کے لئے. تو کیا انہوں نے تجویز پیش کی - میں ایک نیا حاصل کرنے کے لئے جا رہا ہوں - ، اشارہ کے ساتھ ایک صف بنانے کے ہے اشارہ کے ایک صف. ٹھیک ہے. کسی بھی خیال یا اشارہ کیا پروپوزل کی گذارش اس اشارہ کے ہونا چاہئے؟ مارکس؟ سامعین: اشارہ - JASON HIRSCHHORN: آپ کی وجہ سے ایک لنک کی فہرست تو، نے کہا کہ - سامعین: نوڈ اشارہ؟ JASON HIRSCHHORN: نوڈ اشارہ. تو ہمارے منسلک میں چیزیں فہرست نوڈس تو وہ ہیں نوڈ اشارہ ہونا چاہئے. اور وہ ابتدائی طور پر کیا برابر ہیں؟ سامعین: شہوت انگیز null. JASON HIRSCHHORN: شہوت انگیز null. تو ہماری خالی چیز ہے. لوکی کی واپسی صفر. ہم کیا کرتے ہیں؟ اس کے ذریعے مجھے واک؟ اصل میں، مارکس نے پہلے ہی نے مجھے دیا. کسی کو اس کے ذریعے مجھے چلنا. ہم کیا کرتے ہیں جب ہم - اس کی طرح لگ رہا ہے ہم صرف کیا کر رہے تھے. AVI. سامعین: میں ایک اندازہ لینے کے لئے جا رہا ہوں. تو کیا تم کینڈی جب. JASON HIRSCHHORN: جی ہاں. ٹھیک ہے، ہم قددو ہے. ہمارے سب سے پہلے حاصل کرتے ہیں. ہم قددو ہے. سامعین: ٹھیک ہے. لوکی کی واپسی صفر. تو آپ کو اس میں ڈال دیا. یا اصل میں، آپ کو اس میں ڈال دیا منسلک فہرست میں. JASON HIRSCHHORN: کس طرح ہم کرتے ہیں منسلک فہرست میں ڈال دیا؟ سامعین: اوہ، اصل نحو؟ JASON HIRSCHHORN: بس چل - کہنا. ہم کیا کرتے ہیں؟ سامعین: آپ صرف داخل یہ سب سے پہلے نوڈ کے طور پر. JASON HIRSCHHORN: ٹھیک ہے. تو ہم اپنے نوڈ، قددو ہے. اور اب میں کس طرح داخل ہے؟ سامعین آپ کو تفویض پوائنٹر یہ. JASON HIRSCHHORN: کون سا پوائنٹر؟ سامعین: صفر پر پوائنٹر. JASON HIRSCHHORN: تو جہاں اس بات کرتا ہے؟ سامعین: ابھی شہوت انگیز null. JASON HIRSCHHORN: ٹھیک ہے، یہ نل کی طرف اشارہ ہے. لیکن میں قددو میں ڈال رہا ہوں. تو جہاں اس کی طرف اشارہ کرنا چاہئے؟ سامعین: قددو کرنے کے لئے. JASON HIRSCHHORN: قددو. بالکل ٹھیک. تو اس قددو اشارہ. اور جہاں اس پوائنٹر کرتا ہے قددو نقطہ میں؟ کرنے کے لئے سامعین: شہوت انگیز null. JASON HIRSCHHORN: شہوت انگیز null. بالکل ٹھیک. تو ہم صرف کچھ ڈالا منسلک فہرست میں. ہم صرف ایسا کرنے کے لئے اس کے کوڈ میں لکھا تھا. تقریبا ہم تقریبا مل گیا مکمل طور پر ٹوٹ. اب ہم کینڈی ڈالیں. ہمارے کینڈی بھی صفر پر جاتا ہے. تو ہم نے کینڈی کے ساتھ کیا کرتے ہیں؟ سامعین: یہ یا پر انحصار کرتا ہے ہم اسے حل کرنے کی کوشش کر رہے ہیں نہیں. JASON HIRSCHHORN: ہے بالکل صحیح. اس پر انحصار کرتا ہے یا نہیں ہم اسے حل کرنے کی کوشش کر رہے ہیں. ہم نہیں ہو فرض ہیں اسے حل کرنے کے لئے جا. سامعین: تو، ہم بات چیت کی اس سے پہلے، یہ صرف ڈال کرنے کے لئے آسان ہے حق تو شروع میں پوائنٹر کینڈی صفر پوائنٹس سے. JASON HIRSCHHORN: ٹھیک ہے. رکو. مجھے یہاں کینڈی پیدا کرتے ہیں. تو اس پوائنٹر - سامعین: جی ہاں، اب کرنا چاہئے کینڈی کی طرف اشارہ کیا جائے. پھر پوائنٹر سے ہے قددو پر کینڈی نقطہ. JASON HIRSCHHORN: کی طرح؟ اور ہم ایک اور ہے کا کہنا ہے کہ صفر کا نقشہ کرنے کی بات؟ سامعین:، آپ کو صرف ایک ہی بات ہے؟ JASON HIRSCHHORN: ایک ہی بات کرتے. تو اس صورت میں، ہم ایسا نہیں کرتے تو یہ اس کے مطابق رکھنا چاہتے ہیں بلکہ سادہ لگتا ہے. ہم سدنوں میں پوائنٹر لے ہماری ہیش تقریب کی طرف سے دی. ہم اپنے نئے نوڈ اس نقطہ ہے. اور پھر اس طرف اشارہ کرتے ہوئے جو بھی تھا پہلے کرنے کے لئے - میں اس معاملے شہوت انگیز null، میں دوسری صورت قددو - اس کی طرف اشارہ ہے جو کچھ بھی، کہ پہلے، ہم اگلے میں شامل ہمارے نئے نوڈ. ہم کچھ داخل کر رہے ہیں شروع میں. اصل میں اس کے مقابلے میں بہت آسان ہے حل کی فہرست رکھنے کے لئے کوشش کر رہے ہیں. لیکن پھر، تلاش کیا جائے گا مزید یہاں پر پیچیدہ. ہم نے ہمیشہ ختم کرنے کے لئے جانا پڑے گا. ٹھیک ہے. علیحدہ جکڑا جانا؟ کے بارے میں کوئی سوال ہے؟ یہ کس طرح کام کرتا ہے؟ اب ان سے پوچھو، براہ مہربانی. مجھے سچ میں یقین ہے کہ آپ تمام بنانا چاہتے ہیں ہم باہر کی سربراہی سے پہلے اس بات کو سمجھ. سامعین: آپ کیوں قددو دیا اور اسی میں کینڈی ہیش ٹیبل کا حصہ؟ JASON HIRSCHHORN: اچھا سوال ہے. کیوں ہم ایک ہی میں ڈال دیا ہے ہیش ٹیبل کا حصہ؟ ٹھیک ہے، اس معاملے میں ہماری ہیش تقریب واپسی ان دونوں کے لئے صفر. تو وہ میں Índice صفر پر جانے کی ضرورت ہے ہم کہاں جا رہے ہیں کہ ہے کیونکہ ان کے لئے نظر آتے ہیں ہم نے کبھی ان کو دیکھنا چاہتا ہوں. ایک بار پھر، ایک لکیری کی تحقیقات نقطہ نظر کے ساتھ ہم صفر پر ان دونوں کو ڈال نہیں کریں گے. لیکن علیحدہ چین کے نقطہ نظر میں، ہم صفر پر دونوں ڈال کرنے جا رہے ہیں اور اس کے بعد صفر کے ایک فہرست بنانے کے. اور ہم قددو ادلیکھت نہیں کرنا چاہتا بس اس کے لئے تو ہم کریں گے قددو تھا کہ فرض داخل کبھی نہیں. ہم صرف ایک بات یاد رکھو تو برا ہو گا کہ اس مقام پر. اس کے بعد وہاں ہو جائے گا کوئی کبھی ہم میں سے موقع - ہم نے کبھی نقل کی تھی، تو ہم صرف ہمارے ابتدائی قیمت کو ختم کرے گا. ہم اس نقطہ نظر کرتے ہیں یہی وجہ ہے کہ. ہم کا انتخاب کیا کیوں یا کہ ہے - لیکن پھر، ہم علیحدہ جکڑا جانا؟ نقطہ نظر کا انتخاب کیا ہے، بہت سے دوسرے نقطہ نظر موجود ہیں جس میں کسی ایک کو منتخب کر سکتے ہیں. کہ آپ کے سوال کا جواب ہے؟ ٹھیک ہے. کارلوس. لکیری کی تحقیقات میں شامل کریں گے - ہم صفر پر ایک تصادم پایا ہے، تو ہم دیکھنے کے لئے اگلے جگہ میں نظر آتے ہیں یہ کھلا ہوا تھا اور اس میں ڈال. اور پھر ہم اگلے کھیل میں دیکھنے کے لئے اور کہ کھلا ہوا تھا تو دیکھ کر اس میں ڈال. تو ہم نے اگلے دستیاب کی تلاش کھلی جگہ اور وہاں ڈال دیا. کوئی سوال؟ جی ہاں، AVI. سامعین: ایک اس پر عمل کے طور پر، آپ کو اگلے جگہ کی طرف سے کیا مطلب ہے؟ ہیش ٹیبل میں یا ایک منسلک فہرست میں. JASON HIRSCHHORN: لکیری کے لئے پروگرامنگ، کوئی منسلک کی فہرست. ہیش کی میز پر اگلے اسپاٹ. سامعین: ٹھیک ہے. تو ہیش ٹیبل ہو جائے گا سائز initialized ہے - تاروں کی تعداد کی طرح آپ کو داخل کیا گیا ہے؟ JASON HIRSCHHORN: کیا تم یہ واقعی بڑا ہونا چاہتے ہیں. جی ہاں. یہاں کیا ہم کی ایک تصویر ہے صرف بورڈ پر مبذول کرائی. ایک بار پھر، ہم یہاں ایک تصادم ہے. 152 میں. اور آپ کو ہم پیدا دیکھیں گے اس سے دور ایک لنک کی فہرست. ایک بار پھر، ہیش میز علیحدہ جکڑا جانا؟ نقطہ نظر بھی آپ کو نہیں ہے مسائل کے سیٹ کے لئے لے کر جانا ہے چھ لیکن ایک ہے کی ایک بہت طالب علموں کو لے جاتے ہیں. تو اس نوٹ پر، ہم مختصر طور پر بات کرتے ہیں ہم اس مسئلے چھ کے بارے میں باہر کی سربراہی سے پہلے اور پھر میں آپ کے ساتھ ایک کہانی کا اشتراک کریں گے. ہم تین منٹ ہیں. مسئلہ چھ قائم. آپ کو چار کام کرتا ہے - لوڈ،، سائز، اور اتارنا جانچ پڑتال. لوڈ - ٹھیک ہے، ہم جا کر دیا گیا ہے ابھی زیادہ بوجھ. ہم بورڈ پر لوڈ متوجہ. اور ہم نے بھی کی ایک بہت کوڈنگ شروع کر دیا ایک لنک کی فہرست میں داخل. تو بوجھ بہت زیادہ نہیں ہے ہم صرف کر رہا ہوں کیا. آپ کے پاس ایک بار چیک ہے کچھ بھری ہوئی ہے. یہ طور پر ایک ہی عمل ہے. آپ کو پھینک دیں جہاں ایک ہی پہلے دو حصوں میں ہیش تقریب میں کچھ اور اس کی قیمت حاصل کرنے کے لئے. لیکن اب ہم اس کو داخل نہیں کر رہے ہیں. اب ہم اس کے لئے تلاش کر رہے ہیں. میں نمونے کے کوڈ کو تلاش کرنے کے لئے لکھا گیا ہے ایک لنک کی فہرست میں کچھ. میں اس پر عمل کرنے کی حوصلہ افزائی. لیکن intuitively کچھ ہے کو تلاش کرنے کے کچھ داخل کرنے کے لئے خوبصورت اسی طرح کی. بے شک، ہم تلاش کرنے کے لئے ایک تصویر متوجہ ایک لنک کی فہرست میں کچھ، منتقل آپ کو ختم کرنے کے لئے ہے، جب تک کے ذریعے. اور آپ کو ختم کرنے کے لئے ہے اور نہ کر سکے تو اسے تلاش، تو یہ وہاں نہیں ہے. تو وہ بنیادی طور پر، چیک. اگلا سائز ہے. کے سائز پر ہیں. آخر میں آپ کو خالی کر دیا ہے. خالی ہم تیار نہیں کیا ہے میں سے ایک ہے بورڈ پر یا ابھی تک کوڈت. لیکن میں آپ کو یہ کوڈنگ کرنے کی کوشش کرنے کی حوصلہ افزائی ہمارے نمونے منسلک فہرست مثال میں. لیکن intuitively اتارنا مفت کی طرح ہے - یا میرا مطلب ہے چیک کرنے کے لئے اسی طرح کی ہے. آپ جا رہے ہیں اب ہر وقت کے علاوہ کے ذریعے، آپ کو صرف کرنے کے لئے کی جانچ پڑتال نہیں کر رہے ہیں آپ وہاں آپ کی قیمت ہے کو دیکھنے کے. لیکن اگر آپ اس نوڈ لے اور کر رہے ہیں بنیادی طور پر، یہ آزاد. یہ خالی کرنے کے لئے آپ سے کہتا ہے کیا ہے. آپ malloced ہے ڈاؤن لوڈ، اتارنا سب کچھ. تو آپ کو پوری فہرست کے ذریعے جا رہے ہیں پھر، پوری ہیش کے ذریعے جا ٹیبل پھر. اس وقت جانچ پڑتال نہیں کرتے کیا ہے دیکھنے کے لئے. بس کیا ہے آزاد. اور آخر میں سائز. سائز لاگو کیا جانا چاہیے. آپ کے سائز پر عملدرآمد نہیں ہے - میں اس طرح کہیں گے. تم بالکل سائز کو لاگو نہیں کرتے ہیں تو جن میں کوڈ کی ایک لائن بیان کی واپسی، آپ ہیں غلط طریقے سے سائز کر. تو مکمل ڈیزائن کے لئے، اس بات کا یقین سائز کر پوائنٹس، آپ بالکل ایک میں کر رہے ہیں جن میں کوڈ کے لائن، واپس بیان. اور، ابھی تک Akchar پیک نہیں ہے. شوقین بیور. میں تم لوگوں کا شکریہ کہنا چاہتا تھا کے حصے میں آنے کے لئے. ایک مبارک ہیلوین ہے. یہ میرے کپڑے ہے. میں جمعرات کو اس پہنے ہوئے ہوں گے میں دفتر کے اوقات میں آپ دیکھتے ہیں. اور تم کچھ زیادہ کے بارے میں جاننا ہو تو پس منظر اس کے کپڑے کے طور پر، محسوس 2011 کے سیکشن چیک کرنے کے لیے مفت مجھے کیوں ایک کہانی کے لئے قددو کپڑے پہنے. اور یہ ایک دکھ کی کہانی ہے. اتنا یقین ہے کہ آپ کو بنا قریبی کچھ ؤتکوں. لیکن اس پر، آپ کو کسی بھی ہے تو میں نے ارد گرد رہنا گے سوالات باہر سیکشن کے بعد. گڈ لک مسئلہ پر چھ قائم. اور ہمیشہ کی طرح، آپ کو کسی بھی ہے تو سوالات، مجھے پتہ ہے.