1 00:00:00,000 --> 00:00:08,250 2 00:00:08,250 --> 00:00:12,680 >> JASON HIRSCHHORN: خوش آمدید همه به بخش هفت. 3 00:00:12,680 --> 00:00:15,040 ما در هفته هفت دوره می باشد. 4 00:00:15,040 --> 00:00:18,440 و این آینده پنجشنبه هالووین است، بنابراین من هستم 5 00:00:18,440 --> 00:00:21,420 تا لباس پوشیدن و مانند یک کدو تنبل. 6 00:00:21,420 --> 00:00:23,460 من نمی توانست خم شود قرار داده و در کفش من است، پس به همین دلیل من 7 00:00:23,460 --> 00:00:25,660 فقط به پوشیدن جوراب. 8 00:00:25,660 --> 00:00:29,220 من هر چیزی را هم پوشیده نیست تحت این، بنابراین من می تواند آن را از اگر آن را 9 00:00:29,220 --> 00:00:29,950 منحرف به شما. 10 00:00:29,950 --> 00:00:31,860 من از قبل برای آن عذرخواهی می کنیم. 11 00:00:31,860 --> 00:00:33,170 شما لازم نیست که تصور کنید چه خبر است. 12 00:00:33,170 --> 00:00:34,240 من مشت زنان با پوشیدن دارم. 13 00:00:34,240 --> 00:00:36,170 پس از آن همه خوب است. 14 00:00:36,170 --> 00:00:41,120 >> من یک داستان دیگر در مورد اینکه چرا من باید لباس به عنوان یک کدو تنبل، اما من قصد دارم 15 00:00:41,120 --> 00:00:45,110 صرفه جویی که بعدا در این بخش چرا که من نمی خواهم برای شروع. 16 00:00:45,110 --> 00:00:47,720 در حال حاضر بسیاری از چیزهای هیجان انگیز به بیش از این هفته بروید. 17 00:00:47,720 --> 00:00:51,810 بسیاری از آنها مربوط به طور مستقیم به این هفته مجموعه ای مشکل، غلط املائی. 18 00:00:51,810 --> 00:00:54,680 ما در حال رفتن به رفتن بیش از مرتبط لیست ها و جداول هش 19 00:00:54,680 --> 00:00:57,160 برای کل بخش. 20 00:00:57,160 --> 00:01:02,490 من به این لیست قرار داده تا در هر هفته، یک لیست از منابع را برای شما به شما کمک کند با 21 00:01:02,490 --> 00:01:04,120 مواد در این دوره. 22 00:01:04,120 --> 00:01:07,600 اگر در از دست دادن و یا اگر به دنبال برخی از اطلاعات بیشتر، لطفا یکی از 23 00:01:07,600 --> 00:01:09,930 این منابع است. 24 00:01:09,930 --> 00:01:14,530 >> باز هم، pset6 غلط املائی است، pset این هفته. 25 00:01:14,530 --> 00:01:17,690 و آن را نیز شما را تشویق می کند، و من شما را تشویق به استفاده از برخی دیگر 26 00:01:17,690 --> 00:01:20,320 منابع به طور خاص برای این pset. 27 00:01:20,320 --> 00:01:23,390 به طور خاص، سه من ذکر شده است تا بر روی صفحه نمایش - 28 00:01:23,390 --> 00:01:27,160 GDB، که ما با آن آشنا بوده است و شده است با استفاده از یک در حالی که در حال حاضر، است 29 00:01:27,160 --> 00:01:29,270 رفتن به بسیار مفید این هفته. 30 00:01:29,270 --> 00:01:30,190 بنابراین من قرار داده است که تا اینجا. 31 00:01:30,190 --> 00:01:32,910 اما هر زمان که شما در حال کار با C، شما همیشه باید با استفاده از توان از gdb به 32 00:01:32,910 --> 00:01:34,430 برنامه های خود را اشکال زدایی. 33 00:01:34,430 --> 00:01:36,660 این هفته نیز valgrind. 34 00:01:36,660 --> 00:01:38,535 آیا کسی می داند چه valgrind می کند؟ 35 00:01:38,535 --> 00:01:42,184 36 00:01:42,184 --> 00:01:43,890 >> رسید آن را برای نشت حافظه چک می کند؟ 37 00:01:43,890 --> 00:01:45,950 >> JASON HIRSCHHORN: Valgrind چک برای نشت حافظه است. 38 00:01:45,950 --> 00:01:49,970 بنابراین اگر شما چیزی malloc در خود برنامه، شما برای حافظه درخواست. 39 00:01:49,970 --> 00:01:52,920 در پایان برنامه های خود را، شما باید به ارسال رایگان بر روی همه چیز را که شما 40 00:01:52,920 --> 00:01:54,800 malloced به حافظه است. 41 00:01:54,800 --> 00:01:58,420 اگر شما در پایان ارسال نمی رایگان و برنامه شما می آید به نتیجه گیری، 42 00:01:58,420 --> 00:02:00,000 همه چیز به طور خودکار آزاد شود. 43 00:02:00,000 --> 00:02:02,340 و برای برنامه های کوچک، آن را که بزرگ یک معامله. 44 00:02:02,340 --> 00:02:05,250 اما اگر شما در حال نوشتن در حال اجرا دیگر برنامه ای است که به این ترک نیست، 45 00:02:05,250 --> 00:02:09,180 لزوما، در چند دقیقه و یا یک چند ثانیه، سپس حافظه نشت 46 00:02:09,180 --> 00:02:10,710 می تواند تبدیل به یک معامله بزرگ. 47 00:02:10,710 --> 00:02:14,940 >> بنابراین برای pset6، انتظار می رود که شما نشت حافظه صفر را با 48 00:02:14,940 --> 00:02:15,910 برنامه شما. 49 00:02:15,910 --> 00:02:18,690 برای بررسی نشت حافظه، valgrind اجرا و آن را به شما برخی از خوبی می دهد 50 00:02:18,690 --> 00:02:21,190 خروجی به شما اجازه آیا می دانید یا نه همه چیز آزاد بود. 51 00:02:21,190 --> 00:02:23,940 ما با آن را بعد از عمل امروز، امیدوارم. 52 00:02:23,940 --> 00:02:25,790 >> در نهایت، دستور تفاوت. 53 00:02:25,790 --> 00:02:28,900 شما چیزی شبیه به آن استفاده می شود در pset5 با ابزار زیرچشمی نگاه کردن. 54 00:02:28,900 --> 00:02:30,780 به شما اجازه نگاه کردن به درون. 55 00:02:30,780 --> 00:02:33,400 شما همچنین تفاوت استفاده می شود، بیش از حد، در مشکل تنظیم تنظیمات. 56 00:02:33,400 --> 00:02:35,950 اما در شما مجاز به مقایسه دو فایل. 57 00:02:35,950 --> 00:02:39,180 شما می توانید فایل بیت مپ و مقایسه هدر اطلاعات از یک راه حل کارکنان و 58 00:02:39,180 --> 00:02:42,200 راه حل خود را در pset5 اگر شما تصمیم به استفاده از آن. 59 00:02:42,200 --> 00:02:44,030 تفاوت شما اجازه می دهد به انجام این کار، و همچنین. 60 00:02:44,030 --> 00:02:48,620 شما می توانید پاسخ صحیح برای مقایسه مشکل این هفته قرار است به پاسخ خود را 61 00:02:48,620 --> 00:02:52,210 و ببینید که اگر آن خطوط و یا ببینید که در آن اشتباهات می باشد. 62 00:02:52,210 --> 00:02:55,870 >> بنابراین اینها سه ابزار خوبی است که شما باید برای این هفته استفاده کنید، و 63 00:02:55,870 --> 00:02:58,130 قطعا برنامه خود را چک کنید با این سه ابزار 64 00:02:58,130 --> 00:03:00,520 قبل از تبدیل به آن را وارد 65 00:03:00,520 --> 00:03:04,650 باز هم، که من هر هفته ذکر کرده اند، اگر شما هر گونه بازخورد برای من - هر دو 66 00:03:04,650 --> 00:03:06,470 مثبت و سازنده - 67 00:03:06,470 --> 00:03:09,930 احساس رایگان به سر به وب سایت در پایین این اسلاید 68 00:03:09,930 --> 00:03:11,270 و ورودی آن وجود دارد. 69 00:03:11,270 --> 00:03:13,440 من واقعا درک هر و بازخورد. 70 00:03:13,440 --> 00:03:17,360 و اگر شما به من چیز خاصی که من می توانم برای بهبود و یا که من هستم 71 00:03:17,360 --> 00:03:21,350 خوبی انجام می دهند که شما به من به دوست ادامه، I را که به قلب و 72 00:03:21,350 --> 00:03:24,040 واقعا سخت است سعی کنید به گوش دادن به نظرات شما. 73 00:03:24,040 --> 00:03:27,720 من نمی توانم قول می دهم من قصد دارم برای انجام همه چیز، هر چند، مانند پوشیدن 74 00:03:27,720 --> 00:03:30,700 کدو صحنه و لباس هر هفته. 75 00:03:30,700 --> 00:03:34,020 >> بنابراین ما می رویم به صرف بخش عمده ای از بخش، به عنوان اشاره کردم، صحبت کردن در مورد 76 00:03:34,020 --> 00:03:37,240 لیست های پیوندی و جداول هش، که خواهد بود به طور مستقیم به قابل اجرا 77 00:03:37,240 --> 00:03:38,780 مشکل تنظیم این هفته. 78 00:03:38,780 --> 00:03:42,580 لیست لینک ما رو به بیش نسبتا بروید به سرعت از آنجا که ما کمی منصفانه صرف 79 00:03:42,580 --> 00:03:44,930 از زمان رفتن بیش از آن را در بخش. 80 00:03:44,930 --> 00:03:48,680 و به این ترتیب ما مستقیما به دریافت برنامه نویسی مشکلات برای لیست های پیوندی. 81 00:03:48,680 --> 00:03:52,740 و سپس در پایان ما صحبت در مورد هش جداول و چگونه آنها را به این اعمال می شود 82 00:03:52,740 --> 00:03:55,280 مشکل در هفته تنظیم کنید. 83 00:03:55,280 --> 00:03:57,560 >> شما قبل از این کد دیده می شود. 84 00:03:57,560 --> 00:04:02,730 این یک ساختار است، و آن را تعریف چیزی جدید یک گره نامیده می شود. 85 00:04:02,730 --> 00:04:10,660 و در داخل یک گره است یک عدد صحیح وجود دارد حق در اینجا و یک اشاره گر به وجود دارد 86 00:04:10,660 --> 00:04:11,830 گره دیگر. 87 00:04:11,830 --> 00:04:12,790 ما پیش از این دیده ام. 88 00:04:12,790 --> 00:04:14,830 این شده است آینده برای چند هفته در حال حاضر. 89 00:04:14,830 --> 00:04:18,680 این ترکیب اشاره گر، که ما آن بوده است کار کردن با، و ساختارها، که اجازه می دهد 90 00:04:18,680 --> 00:04:22,079 ما دو تا متفاوت همه چیز را به یک نوع داده. 91 00:04:22,079 --> 00:04:24,830 92 00:04:24,830 --> 00:04:26,490 >> بسیاری در جریان بر روی صفحه نمایش وجود دارد. 93 00:04:26,490 --> 00:04:30,220 اما همه آن را نسبتا باید باشد آشنایی با شما. 94 00:04:30,220 --> 00:04:33,810 در خط اول ما اعلام یک گره جدید است. 95 00:04:33,810 --> 00:04:41,650 و پس از آن در داخل است که گره جدید، من مجموعه ای عدد صحیح در آن گره را به یکی. 96 00:04:41,650 --> 00:04:44,950 ما در خط بعدی من انجام ببینید چون printf دستور، اما من خاکستری رنگ می اید 97 00:04:44,950 --> 00:04:48,080 دستور چون printf به این دلیل که واقعا بخش مهمی از این خط در اینجا این است - 98 00:04:48,080 --> 00:04:50,020 new_node.n. 99 00:04:50,020 --> 00:04:51,270 نقطه به چه معناست؟ 100 00:04:51,270 --> 00:04:53,810 101 00:04:53,810 --> 00:04:57,240 >> یک مدعو: برو به گره و ارزیابی ارزش N برای آن. 102 00:04:57,240 --> 00:04:58,370 >> JASON HIRSCHHORN: که دقیقا درست است. 103 00:04:58,370 --> 00:05:03,300 نقطه به معنی دسترسی به بخش N از این گره جدید. 104 00:05:03,300 --> 00:05:05,690 این خط بعد چه؟ 105 00:05:05,690 --> 00:05:16,140 106 00:05:16,140 --> 00:05:17,050 مایکل. 107 00:05:17,050 --> 00:05:21,910 >> یک مدعو: این گره دیگر ایجاد که به گره نقطه. 108 00:05:21,910 --> 00:05:24,870 >> JASON HIRSCHHORN: بنابراین آن را نمی کند ایجاد یک گره جدید است. 109 00:05:24,870 --> 00:05:26,120 آن را ایجاد چه؟ 110 00:05:26,120 --> 00:05:28,300 111 00:05:28,300 --> 00:05:29,300 >> رسید یک اشاره گر. 112 00:05:29,300 --> 00:05:33,460 >> JASON HIRSCHHORN: یک اشاره گر به گره، عنوان های این گره * نشان داد در اینجا. 113 00:05:33,460 --> 00:05:34,800 پس از آن ایجاد یک اشاره گر به گره. 114 00:05:34,800 --> 00:05:37,490 و که گره آن اشاره به، مایکل؟ 115 00:05:37,490 --> 00:05:38,440 >> یک مدعو: گره جدید؟ 116 00:05:38,440 --> 00:05:39,240 >> JASON HIRSCHHORN: گره های جدید. 117 00:05:39,240 --> 00:05:43,020 و این اشاره وجود دارد چرا که ما کرده ایم با توجه به آن آدرس گره جدید. 118 00:05:43,020 --> 00:05:45,820 و در حال حاضر در این خط ما را ببینید دو راه مختلف 119 00:05:45,820 --> 00:05:46,910 بیان همین. 120 00:05:46,910 --> 00:05:49,650 و من می خواستم به این نکته که چگونه این دو چیز مثل هم هستند. 121 00:05:49,650 --> 00:05:54,740 در خط اول، ما dereference اشاره گر. 122 00:05:54,740 --> 00:05:55,830 بنابراین ما به گره برود. 123 00:05:55,830 --> 00:05:56,830 این چیزی است که این ستاره به معنای. 124 00:05:56,830 --> 00:05:57,930 ما دیده ایم که پیش از این با اشاره گر. 125 00:05:57,930 --> 00:05:59,280 برو به گره. 126 00:05:59,280 --> 00:06:00,370 که در داخل پرانتز است. 127 00:06:00,370 --> 00:06:04,610 و پس از آن از طریق عملگر نقطه دسترسی عنصر نفر از آن گره. 128 00:06:04,610 --> 00:06:08,430 >> به طوری که مصرف نحو ما در اینجا و در حال حاضر شاهد 129 00:06:08,430 --> 00:06:09,670 با استفاده از آن را با یک اشاره گر. 130 00:06:09,670 --> 00:06:13,730 البته، آن را می شود از نوع پر مشغله اگر شما در حال نوشتن آن پرانتز - 131 00:06:13,730 --> 00:06:14,940 آن ستاره و نقطه. 132 00:06:14,940 --> 00:06:16,220 این می شود کمی مشغول است. 133 00:06:16,220 --> 00:06:18,500 بنابراین ما باید مقداری شکر نحوی. 134 00:06:18,500 --> 00:06:19,920 و این خط را در اینجا - 135 00:06:19,920 --> 00:06:21,170 ptr_node-> نفر. 136 00:06:21,170 --> 00:06:25,400 137 00:06:25,400 --> 00:06:28,000 این که نتیجه ای مشابه. 138 00:06:28,000 --> 00:06:30,840 بنابراین این دو خط کد می باشد معادل و انجام خواهد داد 139 00:06:30,840 --> 00:06:31,650 همان چیزی که دقیق. 140 00:06:31,650 --> 00:06:34,210 >> اما من می خواستم به این نکته اشاره کسانی که از قبل از ما به هر بیشتر تا شما را در درک 141 00:06:34,210 --> 00:06:39,000 که واقعا این کار درست اینجا است فقط قند نحوی برای هرگاه 142 00:06:39,000 --> 00:06:44,200 اشاره گر و سپس رفتن به N بخشی از آن ساختار. 143 00:06:44,200 --> 00:06:45,525 هر گونه سوال در مورد این اسلاید؟ 144 00:06:45,525 --> 00:06:53,020 145 00:06:53,020 --> 00:06:54,390 OK. 146 00:06:54,390 --> 00:06:58,510 >> بنابراین ما قصد داریم از طریق یک زن و شوهر عملیات که شما می توانید در انجام 147 00:06:58,510 --> 00:06:59,730 لیست های مرتبط است. 148 00:06:59,730 --> 00:07:05,770 لیست پیوندی، به یاد بیاورید، یک سری از است گره های که به یکدیگر اشاره می کنند. 149 00:07:05,770 --> 00:07:12,470 و ما به طور کلی با یک اشاره گر شروع به نام سر، به طور کلی، که به 150 00:07:12,470 --> 00:07:14,040 اولین چیزی که در این فهرست است. 151 00:07:14,040 --> 00:07:18,900 بنابراین در خط اول در اینجا، ما اول اصلی ما L. 152 00:07:18,900 --> 00:07:21,370 به طوری که چیزی که شما می توانید از فکر می کنم - این متن در اینجا شما می توانید از فکر می کنم به عنوان 153 00:07:21,370 --> 00:07:23,560 فقط اشاره گر ما ذخیره کرده اید که نقاط جایی 154 00:07:23,560 --> 00:07:24,670 به عنصر اول است. 155 00:07:24,670 --> 00:07:27,500 و در این لیست پیوندی ما چهار گره. 156 00:07:27,500 --> 00:07:29,530 هر گره یک جعبه بزرگ است. 157 00:07:29,530 --> 00:07:33,430 جعبه بزرگتر در داخل بزرگ جعبه قسمت صحیح است. 158 00:07:33,430 --> 00:07:37,400 و بعد ما یک بخش اشاره گر. 159 00:07:37,400 --> 00:07:39,630 >> این جعبه ها کشیده نمی مقیاس به دلیل چقدر بزرگ است 160 00:07:39,630 --> 00:07:42,320 یک عدد صحیح به بایت؟ 161 00:07:42,320 --> 00:07:43,290 چگونه بزرگ در حال حاضر؟ 162 00:07:43,290 --> 00:07:43,710 چهار. 163 00:07:43,710 --> 00:07:45,470 و یک اشاره گر چقدر بزرگ است؟ 164 00:07:45,470 --> 00:07:45,940 چهار. 165 00:07:45,940 --> 00:07:48,180 پس در واقع، اگر ما را به منظور جلب بود این به مقیاس هر دو جعبه 166 00:07:48,180 --> 00:07:49,690 خواهد بود به اندازه همان. 167 00:07:49,690 --> 00:07:52,870 در این مورد، ما می خواهیم برای وارد کردن چیزی را به لیست پیوندی. 168 00:07:52,870 --> 00:07:57,190 بنابراین شما می توانید در اینجا ببینید کردن ما در حال قرار دادن پنج ما را از طریق عبور 169 00:07:57,190 --> 00:08:01,310 لیست پیوندی، پیدا کردن که در آن پنج می رود، و سپس آن را وارد کنید. 170 00:08:01,310 --> 00:08:03,560 >> حالا می خواهیم که به پایین و رفتن کمی آهسته تر. 171 00:08:03,560 --> 00:08:05,510 من قصد دارم به نقطه را به هیئت مدیره. 172 00:08:05,510 --> 00:08:09,930 بنابراین ما باید گره ما پنج که ما در mallocs ایجاد کرده اید. 173 00:08:09,930 --> 00:08:11,190 چرا همه خنده؟ 174 00:08:11,190 --> 00:08:12,130 فقط شوخی. 175 00:08:12,130 --> 00:08:13,310 OK. 176 00:08:13,310 --> 00:08:14,820 بنابراین ما malloced ام پنج. 177 00:08:14,820 --> 00:08:16,310 ما این گره ایجاد کرده اید در جایی دیگر. 178 00:08:16,310 --> 00:08:17,740 ما آن را آماده رفتن است. 179 00:08:17,740 --> 00:08:20,130 ما در مقابل شروع لیست ما با دو. 180 00:08:20,130 --> 00:08:22,380 و ما می خواهیم برای وارد کردن در مد مرتب شده است. 181 00:08:22,380 --> 00:08:27,550 >> بنابراین اگر ما می بینیم دو و ما می خواهیم برای قرار دادن در پنج، چه کار می کنیم زمانی که ما می بینیم 182 00:08:27,550 --> 00:08:28,800 چیزی کمتر از ما؟ 183 00:08:28,800 --> 00:08:31,850 184 00:08:31,850 --> 00:08:33,520 چه؟ 185 00:08:33,520 --> 00:08:36,750 ما می خواهیم برای وارد کردن پنج را به این لیست پیوندی، نگه داشتن آن طبقه بندی شده اند. 186 00:08:36,750 --> 00:08:37,520 ما شماره دو را ببینید. 187 00:08:37,520 --> 00:08:38,769 پس چه کنیم؟ 188 00:08:38,769 --> 00:08:39,179 مارکوس؟ 189 00:08:39,179 --> 00:08:40,679 >> رسید: با اشاره گر به گره بعدی. 190 00:08:40,679 --> 00:08:42,530 >> JASON HIRSCHHORN: و چرا ما را به یکی بعدی بروید؟ 191 00:08:42,530 --> 00:08:45,970 >> رسید آنجا که آن را گره بعدی در این فهرست است. 192 00:08:45,970 --> 00:08:48,310 و ما تنها می دانیم که محل دیگر. 193 00:08:48,310 --> 00:08:50,410 >> JASON HIRSCHHORN و پنج بیشتر است از دو، به طور خاص. 194 00:08:50,410 --> 00:08:51,600 از آنجا که ما می خواهیم به نگه داشتن آن مرتب شده است. 195 00:08:51,600 --> 00:08:52,730 پس از پنج بیش از دو است. 196 00:08:52,730 --> 00:08:54,460 بنابراین ما به یک بعدی حرکت می کند. 197 00:08:54,460 --> 00:08:55,240 و در حال حاضر ما به چهار. 198 00:08:55,240 --> 00:08:56,490 و هنگامی که ما به چهار چه اتفاقی می افتد؟ 199 00:08:56,490 --> 00:08:58,920 200 00:08:58,920 --> 00:09:00,310 >> پنج بیشتر از چهار است. 201 00:09:00,310 --> 00:09:01,460 بنابراین ما نگه داشتن رفتن. 202 00:09:01,460 --> 00:09:03,110 و در حال حاضر ما در شش است. 203 00:09:03,110 --> 00:09:04,360 و آنچه که ما در شش ببینید؟ 204 00:09:04,360 --> 00:09:08,672 205 00:09:08,672 --> 00:09:09,608 بله، کارلوس؟ 206 00:09:09,608 --> 00:09:10,544 >> یک مدعو: شش بزرگتر از پنج است. 207 00:09:10,544 --> 00:09:11,480 >> JASON HIRSCHHORN: شش است بیشتر از پنج. 208 00:09:11,480 --> 00:09:13,660 پس این که ما می خواهیم برای وارد کردن پنج. 209 00:09:13,660 --> 00:09:17,320 با این حال، در ذهن داشته باشیم که اگر ما فقط در اینجا یک اشاره گر دارند - 210 00:09:17,320 --> 00:09:19,840 این اشاره گر فوق العاده ما که است تراورس از طریق لیست. 211 00:09:19,840 --> 00:09:21,860 و ما با اشاره به شش. 212 00:09:21,860 --> 00:09:25,010 ما مسیر را گم کرده ام از آنچه می آید قبل از شش. 213 00:09:25,010 --> 00:09:29,130 بنابراین اگر ما می خواهیم برای قرار دادن چیزی به این لیست نگه داشتن آن طبقه بندی شده اند، ما 214 00:09:29,130 --> 00:09:31,630 احتمالا باید چگونه بسیاری از اشاره گر؟ 215 00:09:31,630 --> 00:09:32,280 >> یک مدعو: دو. 216 00:09:32,280 --> 00:09:32,920 >> JASON HIRSCHORN: دو. 217 00:09:32,920 --> 00:09:35,720 یکی برای پیگیری جریان یک و یک برای پیگیری 218 00:09:35,720 --> 00:09:37,050 از گذشته شد. 219 00:09:37,050 --> 00:09:38,450 این فقط یک لیست به تنهایی در ارتباط است. 220 00:09:38,450 --> 00:09:39,670 این فقط می رود یک جهت. 221 00:09:39,670 --> 00:09:43,220 اگر ما یک لیست مضاعف مرتبط بود، که در آن همه چیز با اشاره به چیزی بود 222 00:09:43,220 --> 00:09:46,240 پس از آن و چیزی که قبل از آن، پس از آن ما نمی خواهد نیاز به انجام این کار. 223 00:09:46,240 --> 00:09:49,350 اما در این مورد ما نمی خواهیم که به از دست دادن آهنگ از آنچه که قبل از ما در مورد آمد 224 00:09:49,350 --> 00:09:53,350 ما نیاز به وارد کردن پنج جایی در وسط. 225 00:09:53,350 --> 00:09:55,610 می گویند که ما وارد شدند نه. 226 00:09:55,610 --> 00:09:57,260 چه اتفاقی می افتد زمانی که ما به هشت کردم؟ 227 00:09:57,260 --> 00:10:01,860 228 00:10:01,860 --> 00:10:04,880 >> یک مدعو: شما می خواهم به دریافت کنید که نقطه تهی. 229 00:10:04,880 --> 00:10:07,820 به جای داشتن نقطه خنثا شما می خواهم که برای اضافه کردن یک عنصر و پس از آن 230 00:10:07,820 --> 00:10:09,216 آن را به نه نقطه. 231 00:10:09,216 --> 00:10:09,700 >> JASON HIRSCHORN: دقیقا. 232 00:10:09,700 --> 00:10:10,600 بنابراین ما هشت. 233 00:10:10,600 --> 00:10:13,140 ما در رسیدن به انتهای لیست به دلیل این است با اشاره به تهی. 234 00:10:13,140 --> 00:10:16,330 و در حال حاضر، به جای داشتن آن را به نقطه تهی ما باید آن را به گره جدید ما اشاره می کنند. 235 00:10:16,330 --> 00:10:19,870 و ما اشاره گر در مجموعه گره جدید ما تهی. 236 00:10:19,870 --> 00:10:21,445 آیا هر کسی هر گونه سوال در مورد قرار دادن؟ 237 00:10:21,445 --> 00:10:25,620 238 00:10:25,620 --> 00:10:28,100 چه می شود اگر من مهم نیست که در مورد نگه داشتن لیست طبقه بندی شده اند؟ 239 00:10:28,100 --> 00:10:31,701 240 00:10:31,701 --> 00:10:34,350 >> یک مدعو: استیک آن را در شروع یا پایان. 241 00:10:34,350 --> 00:10:35,510 >> JASON HIRSCHORN: استیک آن را در آغاز یا پایان. 242 00:10:35,510 --> 00:10:37,276 کدام یک باید کرد؟ 243 00:10:37,276 --> 00:10:38,770 بابی؟ 244 00:10:38,770 --> 00:10:41,020 چرا پایان؟ 245 00:10:41,020 --> 00:10:43,250 >> یک مدعو: از آنجا که آغاز در حال حاضر پر شده است. 246 00:10:43,250 --> 00:10:43,575 >> JASON HIRSCHORN: OK. 247 00:10:43,575 --> 00:10:44,360 آغاز شده است در حال حاضر پر شده است. 248 00:10:44,360 --> 00:10:46,090 چه کسی می خواهد به استدلال می کنند در مقابل بابی. 249 00:10:46,090 --> 00:10:47,290 مارکوس. 250 00:10:47,290 --> 00:10:48,910 >> یک مدعو: خوب شما احتمالا می خواهید چوب آن را در ابتدا به دلیل 251 00:10:48,910 --> 00:10:50,140 در غیر این صورت اگر شما آن را در در پایان از شما می خواهم به 252 00:10:50,140 --> 00:10:51,835 گذشتن از فهرست کل. 253 00:10:51,835 --> 00:10:52,990 >> JASON HIRSCHORN: دقیقا. 254 00:10:52,990 --> 00:10:57,970 بنابراین اگر ما در حال فکر کردن در مورد زمان اجرا، زمان اجرا از قرار دادن در پایان 255 00:10:57,970 --> 00:11:00,110 خواهد بود نفر، به اندازه این. 256 00:11:00,110 --> 00:11:03,080 O در زمان اجرا بزرگ از قرار دادن چیست در آغاز؟ 257 00:11:03,080 --> 00:11:04,170 زمان ثابت است. 258 00:11:04,170 --> 00:11:07,075 بنابراین اگر شما در مورد نگه داشتن مهم نیست چیزی طبقه بندی شده اند، بسیار بهتر را به تنها 259 00:11:07,075 --> 00:11:08,420 قرار دادن در ابتدای این لیست. 260 00:11:08,420 --> 00:11:10,320 و است که می تواند در زمان ثابت انجام می شود. 261 00:11:10,320 --> 00:11:13,900 262 00:11:13,900 --> 00:11:14,690 >> OK. 263 00:11:14,690 --> 00:11:18,870 عملیات بعدی پیدا است که دیگر - ما این را به عنوان جست و جو تعبیر شده است. 264 00:11:18,870 --> 00:11:22,470 اما ما قصد داریم از طریق نگاه لیست پیوندی برای شیء. 265 00:11:22,470 --> 00:11:26,000 شما بچه ها کد برای دیده اند جستجو قبل در سخنرانی. 266 00:11:26,000 --> 00:11:29,490 اما ما به نوعی آن را فقط با انجام قرار دادن، و یا حداقل قرار دادن 267 00:11:29,490 --> 00:11:30,580 چیزی طبقه بندی شده اند. 268 00:11:30,580 --> 00:11:36,350 شما نگاه را از طریق، رفتن گره با گره، تا زمانی که شما شماره ای که شما پیدا 269 00:11:36,350 --> 00:11:37,780 به دنبال. 270 00:11:37,780 --> 00:11:39,670 اگر شما برسد چه اتفاقی می افتد در پایان لیست؟ 271 00:11:39,670 --> 00:11:43,020 بگو من به دنبال نه و من رسیدن به انتهای لیست. 272 00:11:43,020 --> 00:11:44,270 چه کنیم؟ 273 00:11:44,270 --> 00:11:47,147 274 00:11:47,147 --> 00:11:48,110 >> یک مدعو: غلط؟ 275 00:11:48,110 --> 00:11:48,690 >> JASON HIRSCHORN: بازگشت نادرست است. 276 00:11:48,690 --> 00:11:49,960 ما آن را پیدا کند. 277 00:11:49,960 --> 00:11:52,010 اگر شما در رسیدن به انتهای لیست و شما شماره شما را پیدا کند 278 00:11:52,010 --> 00:11:54,170 به دنبال، آن را در وجود ندارد. 279 00:11:54,170 --> 00:11:55,420 هر گونه سؤال در مورد پیدا کردن؟ 280 00:11:55,420 --> 00:11:59,530 281 00:11:59,530 --> 00:12:04,615 اگر این یک لیست مرتب شده بود، چه برای جستجوی ما متفاوت خواهد بود؟ 282 00:12:04,615 --> 00:12:07,370 283 00:12:07,370 --> 00:12:08,103 آره. 284 00:12:08,103 --> 00:12:10,600 >> یک مدعو: این ارزش برای اولین بار از پیدا کردن که بیشتر از یک 285 00:12:10,600 --> 00:12:12,390 شما به دنبال و و سپس بازگشت نادرست است. 286 00:12:12,390 --> 00:12:13,190 >> JASON HIRSCHORN: دقیقا. 287 00:12:13,190 --> 00:12:17,310 بنابراین اگر آن را در یک لیست مرتب شده است، اگر ما برای به دست آوردن چیزی که بیشتر از آنچه که 288 00:12:17,310 --> 00:12:20,180 ما به دنبال، ما نیازی به نگه داشتن رفتن به انتهای لیست. 289 00:12:20,180 --> 00:12:24,060 ما می توانیم در آن نقطه بازگشت کاذب چرا که ما در حال رفتن به آن را پیدا. 290 00:12:24,060 --> 00:12:27,340 سوال این است که در حال حاضر، ما در مورد صحبت کردیم نگه داشتن لیست های پیوندی طبقه بندی شده اند، 291 00:12:27,340 --> 00:12:28,180 جستجوی ساده و عادی نگه داشتن آنها. 292 00:12:28,180 --> 00:12:30,050 که برای رفتن به چیزی است که شما هستید احتمالا رفتن به باید در مورد فکر می کنم 293 00:12:30,050 --> 00:12:34,240 زمانی که برنامه نویسی مشکل اگر شما مجموعه ای پنج یک جدول هش را با جداگانه را انتخاب کنید 294 00:12:34,240 --> 00:12:36,360 زنجیری شدن این رویکرد، که ما بعد از صحبت در مورد. 295 00:12:36,360 --> 00:12:41,400 >> اما ارزش آن را به نگه داشتن لیست مرتب شده و پس از آن قادر به شاید باید 296 00:12:41,400 --> 00:12:42,310 جستجوی سریعتر؟ 297 00:12:42,310 --> 00:12:47,220 یا بهتر است به سرعت وارد چیزی در زمان اجرا ثابت اما پس از آن 298 00:12:47,220 --> 00:12:48,430 باید دیگر جستجو؟ 299 00:12:48,430 --> 00:12:52,250 این یک معاوضه حق وجود دارد که شما رسیدن به تصمیم بگیرند که چه مناسب تر است 300 00:12:52,250 --> 00:12:53,590 برای مشکل خاص خود را. 301 00:12:53,590 --> 00:12:56,680 و لزوما وجود دارد نه یکی، جواب کاملا درست. 302 00:12:56,680 --> 00:12:59,520 اما مطمئنا این تصمیم گیری شما را، و احتمالا خوب به دفاع 303 00:12:59,520 --> 00:13:05,270 که در مثلا یک یا دو نظر که چرا شما یکی را بر دیگری را انتخاب کرد. 304 00:13:05,270 --> 00:13:06,490 >> در نهایت، حذف. 305 00:13:06,490 --> 00:13:08,100 ما را دیده ام حذف. 306 00:13:08,100 --> 00:13:09,180 این شبیه به جستجو میکرد. 307 00:13:09,180 --> 00:13:11,020 ما برای این عنصر است. 308 00:13:11,020 --> 00:13:12,390 می گویند ما در حال تلاش برای حذف شش. 309 00:13:12,390 --> 00:13:14,450 بنابراین ما پیدا شش در اینجا ببینید. 310 00:13:14,450 --> 00:13:18,860 چیزی که ما باید اطمینان حاصل کنیم انجام دهید این است که هر چه با اشاره به 311 00:13:18,860 --> 00:13:21,220 شش - که ما در گام ببینید دو را در اینجا - 312 00:13:21,220 --> 00:13:26,500 هر آنچه با اشاره به شش نیاز به صفحه شش در حال حاضر و به تغییر 313 00:13:26,500 --> 00:13:28,160 هر شش است با اشاره به. 314 00:13:28,160 --> 00:13:31,410 ما نمی خواهیم به افراد یتیم بقیه لیست ما با فراموش کردن مجموعه ای که 315 00:13:31,410 --> 00:13:32,960 اشاره گر های قبلی است. 316 00:13:32,960 --> 00:13:35,960 و پس از آن گاهی اوقات، بسته به در این برنامه، آنها فقط 317 00:13:35,960 --> 00:13:37,380 به طور کامل حذف این گره. 318 00:13:37,380 --> 00:13:40,135 گاهی اوقات شما می خواهید به بازگشت ارزش است که در این گره. 319 00:13:40,135 --> 00:13:42,490 به طوری که نحوه پاک کردن آثار. 320 00:13:42,490 --> 00:13:44,610 هر گونه سؤال در حذف کنید؟ 321 00:13:44,610 --> 00:13:51,280 322 00:13:51,280 --> 00:13:53,850 >> رسید بنابراین اگر شما قصد حذف آن، شما را فقط به رایگان استفاده کنید زیرا 323 00:13:53,850 --> 00:13:55,655 احتمالا آن malloced شد؟ 324 00:13:55,655 --> 00:13:57,976 >> JASON HIRSCHORN: اگر می خواهید آزاد چیزی که دقیقا سمت راست و شما 325 00:13:57,976 --> 00:13:58,540 آن malloced. 326 00:13:58,540 --> 00:14:00,410 می گویند ما می خواستیم به بازگشت این مقدار است. 327 00:14:00,410 --> 00:14:04,010 ما ممکن است بازگشت شش و سپس آزاد این گره و تماس رایگان بر روی آن. 328 00:14:04,010 --> 00:14:06,180 یا ما احتمالا می خواهم رایگان برای اولین بار تماس بگیرید و سپس بازگشت شش. 329 00:14:06,180 --> 00:14:11,210 330 00:14:11,210 --> 00:14:11,580 >> OK. 331 00:14:11,580 --> 00:14:14,010 بنابراین اجازه دهید در حرکت برای تمرین برنامه نویسی. 332 00:14:14,010 --> 00:14:16,090 ما قصد داریم به کد سه تابع. 333 00:14:16,090 --> 00:14:18,260 اول به نام insert_node. 334 00:14:18,260 --> 00:14:22,170 بنابراین شما باید کدی که من به شما ایمیل فرستاده شده، و اگر شما در حال تماشای این بعد در 335 00:14:22,170 --> 00:14:28,020 شما می توانید کد در linked.c دسترسی در وب سایت CS50. 336 00:14:28,020 --> 00:14:30,880 اما در linked.c، برخی وجود دارد کد اسکلت که در حال حاضر 337 00:14:30,880 --> 00:14:32,280 شده است را برای شما نوشته شده است. 338 00:14:32,280 --> 00:14:34,560 و پس از آن یک زن و شوهر از توابع وجود دارد شما نیاز به نوشتن. 339 00:14:34,560 --> 00:14:36,380 >> نخست ما قصد داریم به ارسال insert_node. 340 00:14:36,380 --> 00:14:39,800 و چه insert_node می کند است درج یک عدد صحیح. 341 00:14:39,800 --> 00:14:42,440 و از تو به عدد صحیح به یک لیست پیوندی. 342 00:14:42,440 --> 00:14:45,470 و به طور خاص، شما باید برای حفظ لیست طبقه بندی شده اند 343 00:14:45,470 --> 00:14:47,650 از کوچکترین تا بزرگترین. 344 00:14:47,650 --> 00:14:51,360 همچنین، شما نمی خواهید درج هر گونه موارد تکراری. 345 00:14:51,360 --> 00:14:54,600 در نهایت، به عنوان شما می توانید insert_node را ببینید بولی را برمی گرداند. 346 00:14:54,600 --> 00:14:57,140 بنابراین شما قرار است به کاربر اجازه می دانم آیا قرار دادن بود یا نه 347 00:14:57,140 --> 00:15:00,800 موفق با بازگشت درست است یا غلط. 348 00:15:00,800 --> 00:15:02,580 در پایان این برنامه - 349 00:15:02,580 --> 00:15:05,750 و در این مرحله شما لازم نیست در مورد آزاد کردن هر چیزی نگران باشید. 350 00:15:05,750 --> 00:15:11,790 پس همه شما در حال انجام است در نظر گرفتن یک عدد صحیح و قرار دادن آن را به یک لیست. 351 00:15:11,790 --> 00:15:13,890 >> این چیزی است که شما می خواهم به انجام این کار در حال حاضر. 352 00:15:13,890 --> 00:15:17,620 باز هم، در linked.c، که به شما همه، کد اسکلت است. 353 00:15:17,620 --> 00:15:20,980 و شما باید به سمت پایین را ببینید اعلان تابع نمونه. 354 00:15:20,980 --> 00:15:27,390 با این حال، قبل از رفتن به برنامه نویسی آن در C، من به شدت شما را تشویق به رفتن 355 00:15:27,390 --> 00:15:29,330 از طریق مراحل ما شده ایم تمرین در هر هفته. 356 00:15:29,330 --> 00:15:31,100 ما در حال حاضر از طریق رفته یک عکس از این. 357 00:15:31,100 --> 00:15:33,380 بنابراین شما باید برخی از درک داشته باشند چگونه این کار می کند. 358 00:15:33,380 --> 00:15:36,590 اما من شما را تشویق به ارسال برخی از شبه قبل از غواصی شوید 359 00:15:36,590 --> 00:15:38,640 و ما قصد داریم تا بیش از شبه به عنوان یک گروه. 360 00:15:38,640 --> 00:15:41,470 و پس از آن هنگامی که شما نوشته اید شما شبه، و زمانی که ما نوشته شده ما 361 00:15:41,470 --> 00:15:45,850 شبه به عنوان یک گروه، شما می توانید رفتن به برنامه نویسی آن در C. 362 00:15:45,850 --> 00:15:49,980 >> به اطلاع میرسانیم که، تابع insert_node احتمالا مهم ترین از 363 00:15:49,980 --> 00:15:53,550 سه ما در حال رفتن به ارسال زیرا من به افزود: برخی از محدودیت های اضافی 364 00:15:53,550 --> 00:15:57,190 شما برنامه نویسی، به ویژه که شما نمی خواهید برای قرار دادن هر 365 00:15:57,190 --> 00:15:59,880 تکراری و لیست باید مرتب باقی می ماند. 366 00:15:59,880 --> 00:16:02,660 این یک برنامه غیر جزیی می باشد که شما نیاز به کد. 367 00:16:02,660 --> 00:16:06,470 و چرا شما را ندارد 06:55 دقیقه فقط به کار بر روی 368 00:16:06,470 --> 00:16:07,640 شبه و کد. 369 00:16:07,640 --> 00:16:09,460 و بعد ما شروع خواهد شد رفتن به عنوان یک گروه. 370 00:16:09,460 --> 00:16:11,680 باز هم، اگر شما هر گونه سوال فقط بالا بردن دست خود را و من در اطراف شما می آیند. 371 00:16:11,680 --> 00:16:15,258 372 00:16:15,258 --> 00:16:16,508 . 373 00:16:16,508 --> 00:18:28,370 374 00:18:28,370 --> 00:18:30,120 >> ما همچنین به طور کلی این کار را - 375 00:18:30,120 --> 00:18:32,070 یا من به صراحت به شما می گویند می تواند با مردم کار می کنند. 376 00:18:32,070 --> 00:18:36,500 اما بدیهی است، من به شدت شما را تشویق، اگر سوالی دارید، بپرسید 377 00:18:36,500 --> 00:18:39,840 همسایه کنار شما نشسته است و یا حتی با کسی کار 378 00:18:39,840 --> 00:18:40,510 دیگری اگر شما می خواهید. 379 00:18:40,510 --> 00:18:42,600 این به این نیست که یک فرد فعالیت سکوت. 380 00:18:42,600 --> 00:20:11,770 381 00:20:11,770 --> 00:20:16,330 >> اجازه دهید با نوشتن شروع شبه در هیئت مدیره. 382 00:20:16,330 --> 00:20:19,395 چه کسی می تواند به من خط اول را شبه برای این برنامه؟ 383 00:20:19,395 --> 00:20:22,240 384 00:20:22,240 --> 00:20:23,640 برای این تابع، به جای - insert_node. 385 00:20:23,640 --> 00:20:29,960 386 00:20:29,960 --> 00:20:31,830 آلدن؟ 387 00:20:31,830 --> 00:20:36,560 >> یک مدعو: پس اولین کاری که من کردم ایجاد یک اشاره گر جدید به گره و I 388 00:20:36,560 --> 00:20:41,320 مقدار دهی اولیه آن را به همان اشاره چیزی که لیست شده است با اشاره به. 389 00:20:41,320 --> 00:20:41,550 >> JASON HIRSCHORN: OK. 390 00:20:41,550 --> 00:20:45,190 بنابراین شما ایجاد یک اشاره گر جدید به این فهرست، نه به گره. 391 00:20:45,190 --> 00:20:45,420 >> یک مدعو: راست. 392 00:20:45,420 --> 00:20:46,150 آره. 393 00:20:46,150 --> 00:20:46,540 >> JASON HIRSCHORN: OK. 394 00:20:46,540 --> 00:20:48,221 و پس از آن چه می خواهیم کاری انجام دهید؟ 395 00:20:48,221 --> 00:20:49,163 چه پس از آن؟ 396 00:20:49,163 --> 00:20:50,105 چه در مورد گره؟ 397 00:20:50,105 --> 00:20:51,050 ما یک گره ندارد. 398 00:20:51,050 --> 00:20:52,300 ما فقط یک مقدار را داشته باشد. 399 00:20:52,300 --> 00:20:55,918 400 00:20:55,918 --> 00:20:58,890 اگر ما می خواهیم برای وارد کردن یک گره، چه کار می کنیم نیاز به انجام قبل از ما حتی می تواند 401 00:20:58,890 --> 00:20:59,980 در مورد قرار دادن آن فکر می کنم؟ 402 00:20:59,980 --> 00:21:00,820 >> یک مدعو: اوه، ببخشید. 403 00:21:00,820 --> 00:21:02,160 ما نیاز به malloc فضا برای گره. 404 00:21:02,160 --> 00:21:02,455 >> JASON HIRSCHORN: بسیار عالی. 405 00:21:02,455 --> 00:21:03,210 اجازه دهید - 406 00:21:03,210 --> 00:21:04,628 OK. 407 00:21:04,628 --> 00:21:06,065 نمی توان آن را بالا برسد. 408 00:21:06,065 --> 00:21:08,939 409 00:21:08,939 --> 00:21:09,897 OK. 410 00:21:09,897 --> 00:21:13,236 ما قصد داریم به پایین، و پس از آن ما با استفاده از دو ستون. 411 00:21:13,236 --> 00:21:13,732 من نمی توانم که - 412 00:21:13,732 --> 00:21:14,982 OK. 413 00:21:14,982 --> 00:21:23,660 414 00:21:23,660 --> 00:21:25,130 ایجاد یک گره جدید. 415 00:21:25,130 --> 00:21:29,380 شما می توانید اشاره گر دیگری به لیست ایجاد کنید یا شما فقط می توانید لیست استفاده از آن را به عنوان وجود دارد. 416 00:21:29,380 --> 00:21:30,720 شما واقعا نیاز به انجام این کار. 417 00:21:30,720 --> 00:21:31,750 >> بنابراین ما ایجاد یک گره جدید است. 418 00:21:31,750 --> 00:21:32,010 بزرگ. 419 00:21:32,010 --> 00:21:32,840 این چیزی است که ما انجام می دهیم اول است. 420 00:21:32,840 --> 00:21:34,870 گام بعدی چیست؟ 421 00:21:34,870 --> 00:21:35,080 >> یک مدعو: صبر کنید. 422 00:21:35,080 --> 00:21:38,330 ما باید ایجاد یک گره جدید در حال حاضر و یا ما باید صبر کنید تا مطمئن شوید که 423 00:21:38,330 --> 00:21:42,260 هیچ تکراری از گره وجود دارد در لیست قبل از ما آن را ایجاد کنید؟ 424 00:21:42,260 --> 00:21:43,100 >> JASON HIRSCHORN: سوال خوب. 425 00:21:43,100 --> 00:21:47,770 اجازه دهید نگه دارید که بعد به این دلیل که اکثریت هم خواهیم ایجاد 426 00:21:47,770 --> 00:21:48,220 یک گره جدید است. 427 00:21:48,220 --> 00:21:49,110 بنابراین ما در اینجا داشته باشیم که. 428 00:21:49,110 --> 00:21:51,006 اما این سوال خوبی است. 429 00:21:51,006 --> 00:21:53,250 اگر ما آن را ایجاد و پیدا کردن ما تکراری، چه باید 430 00:21:53,250 --> 00:21:54,490 ما قبل از بازگشت انجام دهید؟ 431 00:21:54,490 --> 00:21:55,190 >> یک مدعو: رایگان است. 432 00:21:55,190 --> 00:21:55,470 >> JASON HIRSCHORN: آره. 433 00:21:55,470 --> 00:21:56,500 احتمالا آن را آزاد کند. 434 00:21:56,500 --> 00:21:56,760 OK. 435 00:21:56,760 --> 00:21:59,850 چه ما پس از ما انجام می دهیم ایجاد یک گره جدید؟ 436 00:21:59,850 --> 00:22:02,260 آنی؟ 437 00:22:02,260 --> 00:22:04,780 >> رسید ما را از تعداد در گره؟ 438 00:22:04,780 --> 00:22:05,140 >> JASON HIRSCHORN: دقیقا. 439 00:22:05,140 --> 00:22:07,190 ما قرار داده است تعداد - ما فضای malloc. 440 00:22:07,190 --> 00:22:08,160 من قصد دارم به ترک که همه به عنوان یک خط. 441 00:22:08,160 --> 00:22:08,720 اما حق با شماست. 442 00:22:08,720 --> 00:22:10,305 ما malloc فضا، و سپس ما تعداد شوید قرار داده 443 00:22:10,305 --> 00:22:12,585 ما حتی می توانید مجموعه ای از اشاره گر بخشی از آن را به تهی. 444 00:22:12,585 --> 00:22:13,720 این دقیقا همان سمت راست. 445 00:22:13,720 --> 00:22:17,400 و سپس آنچه در مورد بعد از آن؟ 446 00:22:17,400 --> 00:22:18,490 ما این تصویر در هیئت مدیره به خود جلب کرد. 447 00:22:18,490 --> 00:22:21,190 پس چه کنیم؟ 448 00:22:21,190 --> 00:22:22,680 >> یک مدعو: ما از طریق لیست بروید. 449 00:22:22,680 --> 00:22:23,930 >> JASON HIRSCHORN: برو از طریق این فهرست است. 450 00:22:23,930 --> 00:22:30,620 451 00:22:30,620 --> 00:22:31,100 OK. 452 00:22:31,100 --> 00:22:34,280 و چه چیزی برای ما در هر گره تیک بزنید. 453 00:22:34,280 --> 00:22:35,955 کورت، چه چیزی را چک ما برای هر گره؟ 454 00:22:35,955 --> 00:22:41,640 >> رسید مشاهده کنید که آیا مقدار N از که گره بیشتر از مقدار N است 455 00:22:41,640 --> 00:22:43,070 گره ما. 456 00:22:43,070 --> 00:22:43,340 >> JASON HIRSCHORN: OK. 457 00:22:43,340 --> 00:22:44,280 من قصد دارم برای انجام این کار - 458 00:22:44,280 --> 00:22:45,855 بله، OK. 459 00:22:45,855 --> 00:22:48,160 پس از آن n - 460 00:22:48,160 --> 00:22:59,040 من قصد دارم برای گفتن اگر ارزش بیشتر است از این گره، پس چه کنیم؟ 461 00:22:59,040 --> 00:23:07,290 >> یک مدعو: خب، پس ما وارد درست قبل از آن. 462 00:23:07,290 --> 00:23:07,970 >> JASON HIRSCHORN: OK. 463 00:23:07,970 --> 00:23:09,410 بنابراین اگر آن را بیش از این، پس از آن ما می خواهیم را وارد کنید. 464 00:23:09,410 --> 00:23:14,010 اما ما می خواهیم به آن وارد درست قبل از زیرا ما نیز باید 465 00:23:14,010 --> 00:23:16,070 پیگیری، پس از آن، از آنچه در گذشته بود. 466 00:23:16,070 --> 00:23:22,690 بنابراین قبل از قرار دادن. 467 00:23:22,690 --> 00:23:25,120 بنابراین ما احتمالا از دست رفته چیزی پیش از آن در. 468 00:23:25,120 --> 00:23:27,770 ما احتمالا نیاز به نگهداری می شود پیگیری چه خبر است. 469 00:23:27,770 --> 00:23:28,460 اما ما به عقب وجود دارد. 470 00:23:28,460 --> 00:23:30,160 پس چه مقدار کمتر از است؟ 471 00:23:30,160 --> 00:23:38,030 472 00:23:38,030 --> 00:23:39,710 کورت، ما چه چیزی داریم اگر انجام مقدار کمتر از است؟ 473 00:23:39,710 --> 00:23:43,000 >> یک مدعو: سپس شما را ادامه دهم مگر اینکه آن را یکی از آخرین است. 474 00:23:43,000 --> 00:23:43,550 >> JASON HIRSCHORN: من دوست دارم که. 475 00:23:43,550 --> 00:23:44,800 بنابراین به گره بعدی بروید. 476 00:23:44,800 --> 00:23:47,410 477 00:23:47,410 --> 00:23:48,930 مگر در مواردی که در آن یکی از آخرین است - 478 00:23:48,930 --> 00:23:51,100 ما احتمالا در حال بررسی است که در شرایط یک وضعیت. 479 00:23:51,100 --> 00:23:54,870 اما آره، گره بعدی. 480 00:23:54,870 --> 00:23:58,680 و این بیش از حد کم، بنابراین ما در اینجا حرکت می کند. 481 00:23:58,680 --> 00:24:02,030 اما اگر - 482 00:24:02,030 --> 00:24:03,280 همه می بینند این؟ 483 00:24:03,280 --> 00:24:07,230 484 00:24:07,230 --> 00:24:11,610 اگر ما برابر آنچه که ما انجام می دهید؟ 485 00:24:11,610 --> 00:24:15,740 اگر ارزش ما در حال تلاش برای وارد کردن به ارزش این گره برابر است با؟ 486 00:24:15,740 --> 00:24:16,320 آره؟ 487 00:24:16,320 --> 00:24:18,400 >> یک مدعو: [نامفهوم]. 488 00:24:18,400 --> 00:24:18,850 >> JASON HIRSCHORN: آره. 489 00:24:18,850 --> 00:24:19,290 با توجه به این - 490 00:24:19,290 --> 00:24:20,090 مارکوس درست است. 491 00:24:20,090 --> 00:24:21,330 ما می تواند شاید انجام می شود چیزی متفاوت است. 492 00:24:21,330 --> 00:24:25,360 اما با توجه به اینکه ما آن را ایجاد کرده اید، اینجا ما باید آزاد و سپس بازگشت. 493 00:24:25,360 --> 00:24:26,774 آه پسر. 494 00:24:26,774 --> 00:24:30,080 است که بهتر است؟ 495 00:24:30,080 --> 00:24:31,850 چگونه است که؟ 496 00:24:31,850 --> 00:24:33,100 OK. 497 00:24:33,100 --> 00:24:35,360 498 00:24:35,360 --> 00:24:37,640 رایگان و پس از آن چه کار می کنیم بازگشت، [نامفهوم]؟ 499 00:24:37,640 --> 00:24:41,330 500 00:24:41,330 --> 00:24:44,110 OK. 501 00:24:44,110 --> 00:24:45,360 آیا ما هر چیزی گم شده؟ 502 00:24:45,360 --> 00:24:53,500 503 00:24:53,500 --> 00:24:59,650 تا جایی که ما نگه داشتن در حال پیگیری از گره قبل؟ 504 00:24:59,650 --> 00:25:02,370 >> یک مدعو: من فکر می کنم آن را به بعد از یک گره جدید ایجاد کنید. 505 00:25:02,370 --> 00:25:02,600 >> JASON HIRSCHORN: OK. 506 00:25:02,600 --> 00:25:03,940 بنابراین در آغاز خواهیم احتمالا - 507 00:25:03,940 --> 00:25:07,175 بله، ما می توانیم یک اشاره گر به جدید ایجاد کنید گره، مانند یک اشاره گر به گره قبلی و 508 00:25:07,175 --> 00:25:09,600 یک اشاره گر گره فعلی. 509 00:25:09,600 --> 00:25:12,640 بنابراین اجازه دهید که در اینجا وارد کنید. 510 00:25:12,640 --> 00:25:15,610 511 00:25:15,610 --> 00:25:26,900 ایجاد کنونی و پیشین اشاره گر به گره. 512 00:25:26,900 --> 00:25:28,955 اما زمانی که ما تنظیم آن اشاره گر؟ 513 00:25:28,955 --> 00:25:30,205 کجا کار می کنیم که در کد؟ 514 00:25:30,205 --> 00:25:33,830 515 00:25:33,830 --> 00:25:34,160 جف؟ 516 00:25:34,160 --> 00:25:35,170 >> یک مدعو: - شرایط ارزش؟ 517 00:25:35,170 --> 00:25:36,420 >> JASON HIRSCHORN: کدام یکی به طور خاص؟ 518 00:25:36,420 --> 00:25:39,862 519 00:25:39,862 --> 00:25:40,720 >> یک مدعو: من فقط اشتباه گرفته شود. 520 00:25:40,720 --> 00:25:44,200 اگر مقدار را بیشتر از این گره است، نمی که که که که شما می خواهید به آن بروید 521 00:25:44,200 --> 00:25:45,320 به گره بعدی؟ 522 00:25:45,320 --> 00:25:49,515 >> JASON HIRSCHHORN: بنابراین اگر ارزش های ما است بیشتر از مقدار از این گره است. 523 00:25:49,515 --> 00:25:52,130 >> یک مدعو: آره، پس از آن شما می خواهم می خواهم به بیشتر پایین خط، درست است؟ 524 00:25:52,130 --> 00:25:52,590 >> JASON HIRSCHHORN: راست. 525 00:25:52,590 --> 00:25:53,840 بنابراین ما آن را در اینجا وارد نیست. 526 00:25:53,840 --> 00:25:58,430 527 00:25:58,430 --> 00:26:03,240 اگر مقدار کمتر از این گره است، پس از آن ما به گره بعدی بروید - و یا پس از آن ما 528 00:26:03,240 --> 00:26:03,835 قرار دادن قبل از. 529 00:26:03,835 --> 00:26:05,966 >> یک مدعو: صبر کن، که این گره و ارزش است؟ 530 00:26:05,966 --> 00:26:08,510 531 00:26:08,510 --> 00:26:09,280 >> JASON HIRSCHHORN: سوال خوب. 532 00:26:09,280 --> 00:26:13,260 ارزش در این تعریف تابع چیزی است که ما داده می شود. 533 00:26:13,260 --> 00:26:16,910 بنابراین ارزش تعداد ما داده شده می باشد. 534 00:26:16,910 --> 00:26:21,120 بنابراین اگر ارزش کمتر از این است گره، ما هم برای وارد کردن نیاز دارید. 535 00:26:21,120 --> 00:26:24,575 اگر مقدار را بیشتر از این گره است، ما به گره بعدی بروید. 536 00:26:24,575 --> 00:26:26,790 و به سوال اصلی، هر چند، که در آن - 537 00:26:26,790 --> 00:26:29,060 >> یک مدعو: اگر ارزش بیشتر است از این گره است. 538 00:26:29,060 --> 00:26:30,310 >> JASON HIRSCHHORN: و به این ترتیب آنچه که ما در اینجا انجام دهید؟ 539 00:26:30,310 --> 00:26:36,790 540 00:26:36,790 --> 00:26:38,160 شیرین. 541 00:26:38,160 --> 00:26:38,860 این درست است. 542 00:26:38,860 --> 00:26:41,370 من فقط رفتن به ارسال به روز رسانی اشاره گر. 543 00:26:41,370 --> 00:26:44,010 اما بله، با یک جریان شما می توانید آن را به روز رسانی 544 00:26:44,010 --> 00:26:46,080 اشاره به یک بعدی. 545 00:26:46,080 --> 00:26:47,330 هر چیز دیگری که ما در حال از دست رفته؟ 546 00:26:47,330 --> 00:26:52,710 547 00:26:52,710 --> 00:26:54,940 من می خواهم به نوع این کد به نرمافزاری gedit. 548 00:26:54,940 --> 00:26:58,375 و در حالی که من انجام این کار، شما می توانید دارند دقیقه زن و شوهر بیشتر به کار بر روی برنامه نویسی 549 00:26:58,375 --> 00:28:19,240 این در C. 550 00:28:19,240 --> 00:28:20,940 >> بنابراین من ورودی شبه. 551 00:28:20,940 --> 00:28:22,940 توجه داشته باشید سریع قبل از ما آغاز شده است. 552 00:28:22,940 --> 00:28:25,560 ما نمی ممکن است قادر به به طور کامل به پایان برساند این در تمام 553 00:28:25,560 --> 00:28:27,300 سه تن از این توابع. 554 00:28:27,300 --> 00:28:30,630 است راه حل درست برای آنها وجود دارد که من به شما بچه ها ایمیل خواهد شد 555 00:28:30,630 --> 00:28:33,730 پس از بخش، و از آن خواهد شد بر روی CS50.net شده است. 556 00:28:33,730 --> 00:28:35,640 بنابراین من به شما را تشویق نیست به در بخش نگاه کنید. 557 00:28:35,640 --> 00:28:40,550 من شما را تشویق به سعی کنید این در خود خود را، و سپس با استفاده از عمل 558 00:28:40,550 --> 00:28:41,760 مشکلات برای بررسی پاسخ شما. 559 00:28:41,760 --> 00:28:47,070 این همه طراحی شده است تا از نزدیک مربوط به و پایبندی به آنچه 560 00:28:47,070 --> 00:28:48,400 شما باید در مجموعه ای مشکل انجام دهد. 561 00:28:48,400 --> 00:28:53,820 بنابراین من شما را تشویق به تمرین این در خود و سپس با استفاده از کد به 562 00:28:53,820 --> 00:28:54,660 پاسخ خود را چک کنید. 563 00:28:54,660 --> 00:28:57,060 از آنجا که من نمی خواهم به حرکت بر روی هش جداول در برخی از نقطه در بخش. 564 00:28:57,060 --> 00:28:58,150 بنابراین ما ممکن است از طریق آن همه دریافت کنید. 565 00:28:58,150 --> 00:28:59,960 اما ما به اندازه ما می توانیم در حال حاضر. 566 00:28:59,960 --> 00:29:00,370 >> OK. 567 00:29:00,370 --> 00:29:01,960 اجازه بدهید به ما آغاز خواهد شد. 568 00:29:01,960 --> 00:29:04,770 آسام، ما چگونه یک گره جدید ایجاد می کنید؟ 569 00:29:04,770 --> 00:29:06,810 >> یک مدعو: شما ساختار *. 570 00:29:06,810 --> 00:29:09,640 >> JASON HIRSCHHORN: پس ما که تا اینجا. 571 00:29:09,640 --> 00:29:10,040 اوه، ببخشید. 572 00:29:10,040 --> 00:29:13,530 شما ساختار می گفتند *. 573 00:29:13,530 --> 00:29:17,260 >> رسید و پس از آن [؟ نوع؟] گره یا گره ج. 574 00:29:17,260 --> 00:29:17,780 >> JASON HIRSCHHORN: OK. 575 00:29:17,780 --> 00:29:19,740 من قصد دارم به آن را new_node بنابراین ما می توانیم سازگار باقی بماند. 576 00:29:19,740 --> 00:29:22,646 577 00:29:22,646 --> 00:29:33,180 >> رسید و شما می خواهید به مجموعه ای است که به سر، گره اول است. 578 00:29:33,180 --> 00:29:33,580 >> JASON HIRSCHHORN: OK. 579 00:29:33,580 --> 00:29:37,290 بنابراین در حال حاضر این اشاره به - پس این تا به یک گره جدید ایجاد نشده است. 580 00:29:37,290 --> 00:29:41,380 این فقط به اشاره اولین گره در لیست. 581 00:29:41,380 --> 00:29:42,630 چگونه می توانم ایجاد کنم یک گره جدید؟ 582 00:29:42,630 --> 00:29:45,490 583 00:29:45,490 --> 00:29:48,070 اگر من نیاز به فضای برای ایجاد یک گره جدید. 584 00:29:48,070 --> 00:29:49,230 Malloc. 585 00:29:49,230 --> 00:29:51,710 و چقدر بزرگ؟ 586 00:29:51,710 --> 00:30:00,390 >> یک مدعو: اندازه ساختار. 587 00:30:00,390 --> 00:30:01,150 >> JASON HIRSCHHORN: اندازه ساختار. 588 00:30:01,150 --> 00:30:02,400 و چیزی که ساختار نامیده می شود؟ 589 00:30:02,400 --> 00:30:09,670 590 00:30:09,670 --> 00:30:09,840 >> یک مدعو: گره؟ 591 00:30:09,840 --> 00:30:11,640 >> JASON HIRSCHHORN: گره. 592 00:30:11,640 --> 00:30:17,640 بنابراین malloc (sizeof (گره))؛ ما فرصت می دهد. 593 00:30:17,640 --> 00:30:19,740 و این خط است - 594 00:30:19,740 --> 00:30:21,740 یک چیز در این خط نادرست است. 595 00:30:21,740 --> 00:30:24,430 آیا یک اشاره گر به ساختار new_node؟ 596 00:30:24,430 --> 00:30:25,650 که یک نام عمومی است. 597 00:30:25,650 --> 00:30:26,520 آنچه در آن است - 598 00:30:26,520 --> 00:30:27,450 گره، دقیقا. 599 00:30:27,450 --> 00:30:29,340 این یک گره * است. 600 00:30:29,340 --> 00:30:33,010 و ما چه بلافاصله پس از انجام ما چیزی، آسان malloc؟ 601 00:30:33,010 --> 00:30:34,476 اولین چیزی که ما انجام می دهیم چیست؟ 602 00:30:34,476 --> 00:30:38,850 603 00:30:38,850 --> 00:30:40,320 چه می شود اگر آن کار نمی کند؟ 604 00:30:40,320 --> 00:30:42,430 >> یک مدعو: اوه، چک کردن آن اشاره به گره؟ 605 00:30:42,430 --> 00:30:43,310 >> JASON HIRSCHHORN: دقیقا. 606 00:30:43,310 --> 00:30:46,750 بنابراین اگر شما new_node برابر برابر تهی، چه کنیم؟ 607 00:30:46,750 --> 00:30:51,650 608 00:30:51,650 --> 00:30:54,820 این یک بولی، این تابع بر می گرداند. 609 00:30:54,820 --> 00:30:57,760 دقیقا. 610 00:30:57,760 --> 00:30:58,450 به نظر می رسد خوب است. 611 00:30:58,450 --> 00:30:59,680 هر چیزی برای اضافه کردن وجود دارد؟ 612 00:30:59,680 --> 00:31:00,670 ما همه چیز در پایان اضافه کنید. 613 00:31:00,670 --> 00:31:03,160 اما تا کنون به نظر می رسد خوب است. 614 00:31:03,160 --> 00:31:06,170 ایجاد اشاره گر فعلی و قبلی. 615 00:31:06,170 --> 00:31:08,650 مایکل، چگونه این کار را انجام دهم؟ 616 00:31:08,650 --> 00:31:12,810 >> یک مدعو: شما باید برای انجام یک گره *. 617 00:31:12,810 --> 00:31:21,800 618 00:31:21,800 --> 00:31:25,502 شما می خواهم که به یک را ندارد برای new_node اما برای 619 00:31:25,502 --> 00:31:26,905 گره های ما در حال حاضر. 620 00:31:26,905 --> 00:31:27,230 >> JASON HIRSCHHORN: OK. 621 00:31:27,230 --> 00:31:29,255 بنابراین گره فعلی ما در حال. 622 00:31:29,255 --> 00:31:30,505 من که curr تماس بگیرید. 623 00:31:30,505 --> 00:31:39,650 624 00:31:39,650 --> 00:31:39,770 بسیار خوب. 625 00:31:39,770 --> 00:31:41,620 ما تصمیم گرفتیم ما می خواهیم برای حفظ دو دلیل ما نیاز به دانستن 626 00:31:41,620 --> 00:31:42,870 چه قبل از آن. 627 00:31:42,870 --> 00:31:45,770 628 00:31:45,770 --> 00:31:47,020 چه آنها که به مقداردهی اولیه؟ 629 00:31:47,020 --> 00:31:49,874 630 00:31:49,874 --> 00:31:54,180 >> رسید ارزش آنها در لیست ما است. 631 00:31:54,180 --> 00:31:58,090 >> JASON HIRSCHHORN: پس چه شده است اولین چیزی که در لیست ما؟ 632 00:31:58,090 --> 00:32:04,050 و یا چگونه ما می دانیم که در آن آغاز از لیست ما است؟ 633 00:32:04,050 --> 00:32:08,015 >> یک مدعو: آیا نمی گذشت به تابع؟ 634 00:32:08,015 --> 00:32:08,466 >> JASON HIRSCHHORN: راست. 635 00:32:08,466 --> 00:32:09,716 آن را در سمت راست در اینجا به تصویب رسید. 636 00:32:09,716 --> 00:32:15,910 637 00:32:15,910 --> 00:32:18,980 بنابراین اگر آن را به تابع منتقل می شود، شروع از لیست چه باید کرد 638 00:32:18,980 --> 00:32:21,270 مجموعه در حال حاضر برابر با؟ 639 00:32:21,270 --> 00:32:22,110 >> یک مدعو: فهرست. 640 00:32:22,110 --> 00:32:22,900 >> JASON HIRSCHHORN: فهرست. 641 00:32:22,900 --> 00:32:24,090 این دقیقا همان سمت راست. 642 00:32:24,090 --> 00:32:26,290 در حال حاضر از آن است که آدرس آغاز از لیست ما است. 643 00:32:26,290 --> 00:32:28,450 و آنچه در مورد قبلی؟ 644 00:32:28,450 --> 00:32:31,920 >> یک مدعو: فهرست منهای یک؟ 645 00:32:31,920 --> 00:32:32,690 >> JASON HIRSCHHORN: وجود دارد هیچ چیز قبل از آن. 646 00:32:32,690 --> 00:32:34,580 پس چه می تواند ما انجام می دهیم به معنی هیچ چیز؟ 647 00:32:34,580 --> 00:32:35,050 >> رسید نول. 648 00:32:35,050 --> 00:32:35,450 >> JASON HIRSCHHORN: آره. 649 00:32:35,450 --> 00:32:37,950 به نظر می رسد ایده خوبی است. 650 00:32:37,950 --> 00:32:38,360 کامل. 651 00:32:38,360 --> 00:32:39,630 متشکرم. 652 00:32:39,630 --> 00:32:42,850 برو از طریق این فهرست است. 653 00:32:42,850 --> 00:32:45,490 کنستانتین، چه مدت می خواهیم به این لیست برود؟ 654 00:32:45,490 --> 00:32:49,010 >> رسید تا رسیدن تهی. 655 00:32:49,010 --> 00:32:49,390 >> JASON HIRSCHHORN: OK. 656 00:32:49,390 --> 00:32:50,430 بنابراین اگر، در حالی که، برای حلقه. 657 00:32:50,430 --> 00:32:52,200 چه کار می کنیم؟ 658 00:32:52,200 --> 00:32:53,320 >> رسید شاید برای حلقه؟ 659 00:32:53,320 --> 00:32:53,910 >> JASON HIRSCHHORN: اجازه دهید کار را برای حلقه. 660 00:32:53,910 --> 00:32:55,870 OK. 661 00:32:55,870 --> 00:33:02,465 >> رسید و ما برای گفتن - 662 00:33:02,465 --> 00:33:09,764 663 00:33:09,764 --> 00:33:13,390 تا زمانی که اشاره گر فعلی است به تهی برابر نیست. 664 00:33:13,390 --> 00:33:19,160 >> JASON HIRSCHHORN: بنابراین اگر ما می دانیم که شرایط، چگونه می توان ارسال یک حلقه 665 00:33:19,160 --> 00:33:21,740 بر مبنای که شده وضعیت. 666 00:33:21,740 --> 00:33:24,380 چه نوع از یک حلقه باید استفاده کنیم؟ 667 00:33:24,380 --> 00:33:25,260 >> رسید در حالی که. 668 00:33:25,260 --> 00:33:25,590 >> JASON HIRSCHHORN: آره. 669 00:33:25,590 --> 00:33:27,130 این را حس می کند بیشتر بر اساس خارج از آنچه شما گفت. 670 00:33:27,130 --> 00:33:29,430 اگر ما فقط می خواهم برای رفتن به ما آن را فقط می دانم که چیزی، آن را به 671 00:33:29,430 --> 00:33:31,680 حس به انجام یک حلقه در حالی که. 672 00:33:31,680 --> 00:33:39,880 در حالی که در حال حاضر نشانی از تهی برابر نیست، اگر مقدار کمتر از این گره است. 673 00:33:39,880 --> 00:33:41,650 Akshar، من این خط را. 674 00:33:41,650 --> 00:33:48,810 675 00:33:48,810 --> 00:33:56,955 >> یک مدعو: اگر در حال حاضر-> نفر نفر کمتر از مقدار است. 676 00:33:56,955 --> 00:34:00,170 677 00:34:00,170 --> 00:34:03,260 و یا معکوس است. 678 00:34:03,260 --> 00:34:06,140 سوییچ که با براکت. 679 00:34:06,140 --> 00:34:06,620 >> JASON HIRSCHHORN: متاسفم. 680 00:34:06,620 --> 00:34:08,760 >> یک مدعو: تغییر براکت. 681 00:34:08,760 --> 00:34:10,914 >> JASON HIRSCHHORN: بنابراین اگر آن را بیشتر از مقدار است. 682 00:34:10,914 --> 00:34:18,719 683 00:34:18,719 --> 00:34:22,120 از آنجا که گیج کننده است با اظهار نظر فوق، من قصد دارم برای انجام این کار. 684 00:34:22,120 --> 00:34:22,480 اما بله. 685 00:34:22,480 --> 00:34:25,125 اگر ارزش های ما کمتر از این است گره، چه کنیم؟ 686 00:34:25,125 --> 00:34:25,540 آه. 687 00:34:25,540 --> 00:34:26,710 من آن را در اینجا ببینید. 688 00:34:26,710 --> 00:34:27,960 قرار دادن قبل از. 689 00:34:27,960 --> 00:34:32,080 690 00:34:32,080 --> 00:34:32,370 OK. 691 00:34:32,370 --> 00:34:33,933 ما چگونه انجام این کار؟ 692 00:34:33,933 --> 00:34:34,900 >> یک مدعو: آیا هنوز هم من؟ 693 00:34:34,900 --> 00:34:36,150 >> JASON HIRSCHHORN: آره. 694 00:34:36,150 --> 00:34:38,520 695 00:34:38,520 --> 00:34:39,770 >> یک مدعو: شما - 696 00:34:39,770 --> 00:34:42,909 697 00:34:42,909 --> 00:34:44,159 new_node-> بعدی. 698 00:34:44,159 --> 00:34:46,770 699 00:34:46,770 --> 00:34:50,163 >> JASON HIRSCHHORN: پس چه که رفتن را برابر؟ 700 00:34:50,163 --> 00:34:52,070 >> یک مدعو: این رفتن به فعلی برابر است. 701 00:34:52,070 --> 00:34:53,889 >> JASON HIRSCHHORN: دقیقا. 702 00:34:53,889 --> 00:34:55,730 و به این ترتیب دیگر - 703 00:34:55,730 --> 00:34:56,730 چه چیز دیگری ما نیاز به به روز رسانی؟ 704 00:34:56,730 --> 00:34:59,982 >> رسید چک کنید اگر گذشته برابر تهی. 705 00:34:59,982 --> 00:35:01,870 >> JASON HIRSCHHORN: اگر قبلی - 706 00:35:01,870 --> 00:35:03,730 بنابراین اگر قبل برابر تهی. 707 00:35:03,730 --> 00:35:05,990 >> یک مدعو: این بدان معناست که آن را برای تبدیل شدن به سر. 708 00:35:05,990 --> 00:35:06,780 >> JASON HIRSCHHORN: این یعنی آن را تبدیل به سر. 709 00:35:06,780 --> 00:35:07,620 پس ما چه کاری انجام دهید؟ 710 00:35:07,620 --> 00:35:12,510 >> یک مدعو: ما سر برابر new_node. 711 00:35:12,510 --> 00:35:16,690 >> JASON HIRSCHHORN: سر برابر new_node. 712 00:35:16,690 --> 00:35:20,540 و چرا سر در اینجا، لیست نیست؟ 713 00:35:20,540 --> 00:35:24,940 >> رسید آنجا که سر جهانی است متغیر است، که از نقطه شروع. 714 00:35:24,940 --> 00:35:26,190 >> JASON HIRSCHHORN: شیرین. 715 00:35:26,190 --> 00:35:33,750 716 00:35:33,750 --> 00:35:34,170 OK. 717 00:35:34,170 --> 00:35:36,150 و - 718 00:35:36,150 --> 00:35:53,796 >> یک مدعو: سپس شما دیگری قبل،-> بعدی برابر new_node. 719 00:35:53,796 --> 00:35:55,080 و سپس شما را به راست. 720 00:35:55,080 --> 00:35:59,560 721 00:35:59,560 --> 00:36:02,700 >> JASON HIRSCHHORN: کجا ما پایان new_node است؟ 722 00:36:02,700 --> 00:36:04,850 >> رسید من - 723 00:36:04,850 --> 00:36:06,180 من در آغاز مجموعه ای که. 724 00:36:06,180 --> 00:36:07,430 >> JASON HIRSCHHORN: پس چه خط؟ 725 00:36:07,430 --> 00:36:10,000 726 00:36:10,000 --> 00:36:12,598 >> یک مدعو: پس از دستور if چک کردن اگر آن شناخته شده است. 727 00:36:12,598 --> 00:36:13,057 >> JASON HIRSCHHORN: در اینجا؟ 728 00:36:13,057 --> 00:36:18,335 >> یک مدعو: من می خواهم انجام new_node-> نفر برابر است با ارزش. 729 00:36:18,335 --> 00:36:19,585 >> JASON HIRSCHHORN: به نظر می رسد خوب است. 730 00:36:19,585 --> 00:36:21,740 731 00:36:21,740 --> 00:36:25,090 احتمالا آن را حس می کند - ما نمی باید بدانید که چه لیست ما در حال 732 00:36:25,090 --> 00:36:26,280 زیرا ما فقط خرید و فروش با یک لیست. 733 00:36:26,280 --> 00:36:29,560 بنابراین اعلام عملکرد بهتر برای این فقط می توانید از این خلاص شدن از شر 734 00:36:29,560 --> 00:36:34,360 به طور کامل و درست وارد یک مقدار را به سر. 735 00:36:34,360 --> 00:36:35,930 ما حتی نمی نیاز به دانستن چه لیست ما شوید هستیم 736 00:36:35,930 --> 00:36:39,140 اما من آن را در حال حاضر حفظ و سپس آن را به روز رسانی را تغییر دهید 737 00:36:39,140 --> 00:36:42,590 اسلاید و کد. 738 00:36:42,590 --> 00:36:44,980 به طوری که به نظر می رسد خوب در حال حاضر. 739 00:36:44,980 --> 00:36:46,560 اگر ارزش - که می تواند این خط انجام دهید؟ 740 00:36:46,560 --> 00:36:47,810 اگر - 741 00:36:47,810 --> 00:36:52,240 742 00:36:52,240 --> 00:36:53,840 چه چیزی ما را در اینجا، نوح. 743 00:36:53,840 --> 00:36:57,890 744 00:36:57,890 --> 00:37:07,100 >> یک مدعو: اگر ارزش بیشتر است از curr-> N - 745 00:37:07,100 --> 00:37:16,830 746 00:37:16,830 --> 00:37:18,240 >> JASON HIRSCHHORN: چگونه ما به گره بعدی بروید؟ 747 00:37:18,240 --> 00:37:27,760 748 00:37:27,760 --> 00:37:30,530 >> یک مدعو: Curr-> نفر است به new_node برابر است. 749 00:37:30,530 --> 00:37:37,630 750 00:37:37,630 --> 00:37:39,195 >> JASON HIRSCHHORN: بنابراین نفر است چه بخشی از ساختار؟ 751 00:37:39,195 --> 00:37:43,065 752 00:37:43,065 --> 00:37:46,020 عدد صحیح. 753 00:37:46,020 --> 00:37:50,420 و new_node یک اشاره گر به گره است. 754 00:37:50,420 --> 00:37:51,880 پس چه بخشی از curr باید به روز رسانی ما؟ 755 00:37:51,880 --> 00:38:03,900 756 00:38:03,900 --> 00:38:05,400 اگر نه نفر، پس از آن چه در بخش های دیگر؟ 757 00:38:05,400 --> 00:38:21,680 758 00:38:21,680 --> 00:38:22,810 نوح، چه در بخش های دیگر است. 759 00:38:22,810 --> 00:38:23,570 >> یک مدعو: اوه، بعدی. 760 00:38:23,570 --> 00:38:25,645 >> JASON HIRSCHHORN: بعدی، دقیقا. 761 00:38:25,645 --> 00:38:26,410 دقیقا. 762 00:38:26,410 --> 00:38:28,770 بعد یک حق است. 763 00:38:28,770 --> 00:38:31,540 و چه چیز دیگری نیاز داریم برای به روز رسانی، نوح؟ 764 00:38:31,540 --> 00:38:32,840 >> یک مدعو: اشاره گر. 765 00:38:32,840 --> 00:38:34,840 >> JASON HIRSCHHORN: پس ما در حال حاضر به روز شد. 766 00:38:34,840 --> 00:38:36,090 >> یک مدعو: قبل> بعد. 767 00:38:36,090 --> 00:38:48,160 768 00:38:48,160 --> 00:38:49,410 >> JASON HIRSCHHORN: آره. 769 00:38:49,410 --> 00:38:57,465 770 00:38:57,465 --> 00:38:58,370 OK، ما مکث. 771 00:38:58,370 --> 00:39:02,200 چه کسی می تواند ما را در اینجا کمک کند؟ 772 00:39:02,200 --> 00:39:03,385 مانو، چه باید کرد؟ 773 00:39:03,385 --> 00:39:05,615 >> رسید شما باید به مجموعه آن را به curr-> بعدی برابر است. 774 00:39:05,615 --> 00:39:09,110 775 00:39:09,110 --> 00:39:11,630 اما انجام این کار قبل از خط قبلی. 776 00:39:11,630 --> 00:39:12,880 >> JASON HIRSCHHORN: OK. 777 00:39:12,880 --> 00:39:16,590 778 00:39:16,590 --> 00:39:18,260 هر چیز دیگری؟ 779 00:39:18,260 --> 00:39:19,170 Akshar. 780 00:39:19,170 --> 00:39:22,680 >> یک مدعو: من فکر نمی کنم شما به معنای تغییر curr-> بعدی. 781 00:39:22,680 --> 00:39:29,270 من فکر می کنم که شما به منظور انجام برابر curr curr-> بعدی برای رفتن به گره بعدی. 782 00:39:29,270 --> 00:39:30,500 >> JASON HIRSCHHORN: خیلی متاسفم، که در آن؟ 783 00:39:30,500 --> 00:39:32,680 در خط؟ 784 00:39:32,680 --> 00:39:33,420 این خط؟ 785 00:39:33,420 --> 00:39:33,750 >> یک مدعو: آره. 786 00:39:33,750 --> 00:39:35,745 را curr برابر curr-> بعدی. 787 00:39:35,745 --> 00:39:39,690 788 00:39:39,690 --> 00:39:43,360 >> JASON HIRSCHHORN: پس این درست چون در حال حاضر است 789 00:39:43,360 --> 00:39:45,220 اشاره گر به گره. 790 00:39:45,220 --> 00:39:48,550 و ما می خواهیم آن را به نقطه به بعد گره از آنچه که در حال حاضر گرفتن 791 00:39:48,550 --> 00:39:49,930 به اشاره کرد. 792 00:39:49,930 --> 00:39:54,410 Curr خود را تا بعد. 793 00:39:54,410 --> 00:39:58,620 اما اگر ما برای به روز رسانی curr.next ما می شود به روز رسانی توجه داشته باشید واقعی 794 00:39:58,620 --> 00:40:01,430 خود را، که در آن این اشاره گر اشاره شد. 795 00:40:01,430 --> 00:40:02,680 چه در مورد این خط، هر چند. 796 00:40:02,680 --> 00:40:05,160 797 00:40:05,160 --> 00:40:07,330 AVI؟ 798 00:40:07,330 --> 00:40:09,590 >> یک مدعو: قبل> بعد برابر curr. 799 00:40:09,590 --> 00:40:12,500 800 00:40:12,500 --> 00:40:19,440 >> JASON HIRSCHHORN: پس دوباره، اگر قبلی است اشاره گر به گره قبلی-> بعدی است 801 00:40:19,440 --> 00:40:23,020 اشاره گر واقعی در گره. 802 00:40:23,020 --> 00:40:27,190 بنابراین این امر می تواند به روز رسانی اشاره گر در یک گره به curr. 803 00:40:27,190 --> 00:40:28,570 ما نمی خواهیم برای به روز رسانی یک اشاره گر در یک گره. 804 00:40:28,570 --> 00:40:30,570 ما می خواهیم برای به روز رسانی های قبلی است. 805 00:40:30,570 --> 00:40:31,850 بنابراین ما چگونه انجام این کار؟ 806 00:40:31,850 --> 00:40:34,250 >> رسید که فقط قبل، است. 807 00:40:34,250 --> 00:40:34,565 >> JASON HIRSCHHORN: راست. 808 00:40:34,565 --> 00:40:35,560 قبل یک اشاره گر به گره است. 809 00:40:35,560 --> 00:40:38,750 در حال حاضر ما در حال تغییر آن را به اشاره گر جدید به یک گره. 810 00:40:38,750 --> 00:40:40,830 OK اجازه بدهید ما حرکت به پایین. 811 00:40:40,830 --> 00:40:41,940 در نهایت، این وضعیت گذشته است. 812 00:40:41,940 --> 00:40:44,896 جف، چه چیزی ما را در اینجا انجام دهید؟ 813 00:40:44,896 --> 00:40:47,515 >> یک مدعو: اگر ارزش است به curr-> N برابر است. 814 00:40:47,515 --> 00:40:51,030 815 00:40:51,030 --> 00:40:51,300 >> JASON HIRSCHHORN: متاسفم. 816 00:40:51,300 --> 00:40:52,372 اوه خدای. 817 00:40:52,372 --> 00:40:54,330 چه؟ 818 00:40:54,330 --> 00:40:55,580 ارزش == curr-> نفر. 819 00:40:55,580 --> 00:41:01,050 820 00:41:01,050 --> 00:41:02,300 چه کنیم؟ 821 00:41:02,300 --> 00:41:04,760 822 00:41:04,760 --> 00:41:10,950 >> یک مدعو: شما می new_node ما را آزاد، و پس از آن شما می خواهم نادرست بازگشت. 823 00:41:10,950 --> 00:41:21,410 824 00:41:21,410 --> 00:41:23,460 >> JASON HIRSCHHORN: این چیزی است که ما تا کنون نوشته شده است. 825 00:41:23,460 --> 00:41:25,710 آیا هر کسی هر چیزی برای اضافه کردن قبل از ما را؟ 826 00:41:25,710 --> 00:41:35,460 827 00:41:35,460 --> 00:41:35,710 OK. 828 00:41:35,710 --> 00:41:36,960 اجازه دهید آن را امتحان کنید. 829 00:41:36,960 --> 00:41:44,180 830 00:41:44,180 --> 00:41:46,110 کنترل ممکن است به پایان برسد از یک تابع غیر از درجه اعتبار ساقط. 831 00:41:46,110 --> 00:41:48,310 AVI، چه خبر است؟ 832 00:41:48,310 --> 00:41:51,380 >> یک مدعو: آیا شما قرار است برای قرار دادن بازگشت درست در خارج از حلقه در حالی که؟ 833 00:41:51,380 --> 00:41:53,900 834 00:41:53,900 --> 00:41:54,400 >> JASON HIRSCHHORN: من نمی دانم. 835 00:41:54,400 --> 00:41:54,780 آیا شما من می خواهم به؟ 836 00:41:54,780 --> 00:41:55,520 >> یک مدعو: ذهن هرگز. 837 00:41:55,520 --> 00:41:56,350 شماره 838 00:41:56,350 --> 00:41:57,180 >> JASON HIRSCHHORN: Akshar؟ 839 00:41:57,180 --> 00:41:59,460 >> یک مدعو: من فکر می کنم شما را به معنای قرار نادرست بازگشت در پایان 840 00:41:59,460 --> 00:42:02,230 حلقه در حالی که. 841 00:42:02,230 --> 00:42:03,270 >> JASON HIRSCHHORN: پس از کجا آیا شما می خواهید آن را برای رفتن؟ 842 00:42:03,270 --> 00:42:05,270 >> رسید مانند در خارج از حلقه در حالی که. 843 00:42:05,270 --> 00:42:08,800 بنابراین اگر شما در خارج حلقه در حالی که که به معنی که شما به پایان رسیده و 844 00:42:08,800 --> 00:42:09,980 هیچ چیز اتفاق افتاد. 845 00:42:09,980 --> 00:42:10,410 >> JASON HIRSCHHORN: OK. 846 00:42:10,410 --> 00:42:12,340 پس چه که ما در اینجا انجام دهید؟ 847 00:42:12,340 --> 00:42:13,702 >> یک مدعو: شما بازگشت کاذب نیز وجود دارد. 848 00:42:13,702 --> 00:42:15,040 >> JASON HIRSCHHORN: اوه، ما این کار را در هر دو مکان؟ 849 00:42:15,040 --> 00:42:15,650 >> یک مدعو: آره. 850 00:42:15,650 --> 00:42:16,900 >> JASON HIRSCHHORN: OK. 851 00:42:16,900 --> 00:42:24,840 852 00:42:24,840 --> 00:42:26,160 باید برویم؟ 853 00:42:26,160 --> 00:42:26,980 اوه خدای. 854 00:42:26,980 --> 00:42:27,290 من متاسفم. 855 00:42:27,290 --> 00:42:28,480 I برای صفحه نمایش عذرخواهی می کنیم. 856 00:42:28,480 --> 00:42:30,530 این نوع ناجور می کنه به ما. 857 00:42:30,530 --> 00:42:31,520 بنابراین یک گزینه را انتخاب کنید. 858 00:42:31,520 --> 00:42:35,260 صفر، در هر کد، واریز شده برنامه است. 859 00:42:35,260 --> 00:42:36,700 یکی چیزی درج. 860 00:42:36,700 --> 00:42:37,990 اجازه دهید وارد کردن سه. 861 00:42:37,990 --> 00:42:42,900 862 00:42:42,900 --> 00:42:45,380 درج موفقیت آمیز نبود. 863 00:42:45,380 --> 00:42:46,500 من قصد دارم به نسخه قابل چاپ کردن. 864 00:42:46,500 --> 00:42:48,050 من هیچ چیز را ندارد. 865 00:42:48,050 --> 00:42:48,450 OK. 866 00:42:48,450 --> 00:42:50,250 شاید که فقط یک اتفاق بود. 867 00:42:50,250 --> 00:42:52,810 یک را وارد کنید. 868 00:42:52,810 --> 00:42:55,770 موفق نشده. 869 00:42:55,770 --> 00:42:57,470 OK. 870 00:42:57,470 --> 00:43:02,400 اجازه دهید از طریق GDB واقعا به سرعت اجرا شود برای بررسی از آنچه در جریان است. 871 00:43:02,400 --> 00:43:06,055 >> به یاد داشته باشید از gdb. / نام شما برنامه های ما را به GDB. 872 00:43:06,055 --> 00:43:07,610 این است که تا حد زیادی به دسته؟ 873 00:43:07,610 --> 00:43:08,560 فلش؟ 874 00:43:08,560 --> 00:43:10,400 احتمالا. 875 00:43:10,400 --> 00:43:12,760 چشمانت را ببند و به برخی از عمیق نفس اگر شما خسته 876 00:43:12,760 --> 00:43:13,580 از نگاه کردن به آن. 877 00:43:13,580 --> 00:43:14,200 من در GDB هستم. 878 00:43:14,200 --> 00:43:15,830 اولین چیزی که من انجام در GDB چیست؟ 879 00:43:15,830 --> 00:43:17,050 ما باید به شکل چه خبر است در اینجا. 880 00:43:17,050 --> 00:43:17,310 اجازه دهید را ببینید. 881 00:43:17,310 --> 00:43:21,650 در حال حاضر شش دقیقه به شکل از چه خبر است. 882 00:43:21,650 --> 00:43:22,900 فرار از اصلی. 883 00:43:22,900 --> 00:43:25,950 884 00:43:25,950 --> 00:43:28,130 و پس از آن چه می توانم بکنم؟ 885 00:43:28,130 --> 00:43:29,180 کارلوس؟ 886 00:43:29,180 --> 00:43:31,060 اجرا شود. 887 00:43:31,060 --> 00:43:32,250 OK. 888 00:43:32,250 --> 00:43:34,160 اجازه دهید یک گزینه را انتخاب کنید. 889 00:43:34,160 --> 00:43:36,330 و چه N انجام دهید؟ 890 00:43:36,330 --> 00:43:38,480 بعدی. 891 00:43:38,480 --> 00:43:38,950 آره. 892 00:43:38,950 --> 00:43:39,740 >> یک مدعو: آیا شما اشاره نمی کند - 893 00:43:39,740 --> 00:43:45,230 آیا شما نمی بینید می گویند که رئیس آن بود در آغاز به NULL مقدار دهی اولیه. 894 00:43:45,230 --> 00:43:47,140 اما من فکر کردم شما فرمودید که OK بود. 895 00:43:47,140 --> 00:43:50,040 896 00:43:50,040 --> 00:43:52,640 >> JASON HIRSCHHORN: بریم - اجازه دهید نگاه در GDB، و پس از آن ما به عقب برگردد. 897 00:43:52,640 --> 00:43:54,910 اما به نظر می رسد که شما در حال حاضر برخی از ایده های در مورد آنچه اتفاق افتاده است. 898 00:43:54,910 --> 00:43:58,340 بنابراین ما می خواهیم به قرار دادن چیزی. 899 00:43:58,340 --> 00:43:59,390 OK. 900 00:43:59,390 --> 00:44:00,150 ما وارد شده است. 901 00:44:00,150 --> 00:44:00,770 لطفا یک int را وارد کنید. 902 00:44:00,770 --> 00:44:01,990 ما سه را وارد کنید. 903 00:44:01,990 --> 00:44:03,000 و بعد من در این خط هستم. 904 00:44:03,000 --> 00:44:07,030 چگونه می توانم به I شروع اشکال زدائی درج عملکرد شناخته شده ای؟ 905 00:44:07,030 --> 00:44:08,280 اوه خدای. 906 00:44:08,280 --> 00:44:10,990 907 00:44:10,990 --> 00:44:12,240 این مقدار زیادی است. 908 00:44:12,240 --> 00:44:14,372 909 00:44:14,372 --> 00:44:16,445 است که ناجور می کنه زیادی؟ 910 00:44:16,445 --> 00:44:19,696 911 00:44:19,696 --> 00:44:21,680 >> یک مدعو: آه، آن درگذشت. 912 00:44:21,680 --> 00:44:22,930 >> JASON HIRSCHHORN: من فقط آن را بیرون آورد. 913 00:44:22,930 --> 00:44:27,364 914 00:44:27,364 --> 00:44:28,310 OK. 915 00:44:28,310 --> 00:44:29,560 >> رسید شاید آن را انتهای دیگر سیم. 916 00:44:29,560 --> 00:44:37,000 917 00:44:37,000 --> 00:44:39,470 >> JASON HIRSCHHORN: وای. 918 00:44:39,470 --> 00:44:42,330 بنابراین خط پایین - 919 00:44:42,330 --> 00:44:43,470 چه گفتی؟ 920 00:44:43,470 --> 00:44:46,040 >> یک مدعو: من گفت: طنز از فنی مشکلات در این کلاس. 921 00:44:46,040 --> 00:44:46,410 >> JASON HIRSCHHORN: من می دانم. 922 00:44:46,410 --> 00:44:48,660 اگر فقط من کنترل بر آن بخش بود. 923 00:44:48,660 --> 00:44:49,910 [نامفهوم] 924 00:44:49,910 --> 00:44:54,430 925 00:44:54,430 --> 00:44:55,400 به نظر می رسد بزرگ است. 926 00:44:55,400 --> 00:44:58,680 چرا شما بچه ها نمی شروع به فکر کردن در مورد آنچه که ما می تواند به اشتباه انجام داده اند، 927 00:44:58,680 --> 00:45:01,140 و ما در 90 ثانیه خواهد بود. 928 00:45:01,140 --> 00:46:18,160 929 00:46:18,160 --> 00:46:23,010 >> Avica، من قصد دارم به شما بپرسید که چگونه به insert_node داخل آن را اشکال زدایی. 930 00:46:23,010 --> 00:46:28,940 931 00:46:28,940 --> 00:46:31,460 پس این جایی است که ما گذشته را ترک کردن. 932 00:46:31,460 --> 00:46:35,110 چگونه می توانم در داخل insert_node بروید، Avica، برای بررسی چه خبر است؟ 933 00:46:35,110 --> 00:46:36,360 چه GDB دستور؟ 934 00:46:36,360 --> 00:46:41,050 935 00:46:41,050 --> 00:46:42,390 فرار می کنم من در داخل را ندارد. 936 00:46:42,390 --> 00:46:46,200 937 00:46:46,200 --> 00:46:47,130 آیا نوعی گلابی می دانید؟ 938 00:46:47,130 --> 00:46:48,240 >> رسید چه؟ 939 00:46:48,240 --> 00:46:51,780 >> JASON HIRSCHHORN: چه فرمان GDB من با استفاده به داخل این تابع برود؟ 940 00:46:51,780 --> 00:46:52,070 >> یک مدعو: مرحله؟ 941 00:46:52,070 --> 00:46:55,140 >> JASON HIRSCHHORN: قدم از طریق S. که من طول می کشد در داخل. 942 00:46:55,140 --> 00:46:55,476 OK. 943 00:46:55,476 --> 00:46:58,040 New_node mallocing برخی از فضا. 944 00:46:58,040 --> 00:46:59,120 این همه به نظر می رسد مانند رفتن آن است. 945 00:46:59,120 --> 00:47:00,370 اجازه دهید new_node را بررسی کند. 946 00:47:00,370 --> 00:47:03,270 947 00:47:03,270 --> 00:47:05,410 این آدرس حافظه است. 948 00:47:05,410 --> 00:47:07,440 بیایید بررسی - 949 00:47:07,440 --> 00:47:08,500 است که همه درست است. 950 00:47:08,500 --> 00:47:12,220 بنابراین همه چیز در اینجا به نظر می رسد خوبی کار میکند. 951 00:47:12,220 --> 00:47:14,530 >> یک مدعو: تفاوت چیست بین P و صفحه نمایش؟ 952 00:47:14,530 --> 00:47:16,160 >> JASON HIRSCHHORN: P مخفف نسخه قابل چاپ. 953 00:47:16,160 --> 00:47:19,310 و به این ترتیب شما می گی چه تفاوت بین آن و این؟ 954 00:47:19,310 --> 00:47:22,330 در این مورد، هیچ چیز نیست. 955 00:47:22,330 --> 00:47:26,960 اما به طور کلی وجود دارد برخی از تفاوت. 956 00:47:26,960 --> 00:47:28,220 و شما باید در کتابچه راهنمای GDB نگاه کنید. 957 00:47:28,220 --> 00:47:29,560 اما در این مورد، هیچ چیز نیست. 958 00:47:29,560 --> 00:47:31,460 ما تمایل به استفاده از چاپ، هر چند، به دلیل ما نیازی به انجام این کار بسیار بیشتر از 959 00:47:31,460 --> 00:47:33,960 چاپ یک ارزش واحد. 960 00:47:33,960 --> 00:47:34,640 >> OK. 961 00:47:34,640 --> 00:47:40,300 بنابراین ما در خط 80 از کد ما می باشد، راه گره * curr به لیست برابر است. 962 00:47:40,300 --> 00:47:42,500 اجازه دهید ما از چاپ curr. 963 00:47:42,500 --> 00:47:45,260 964 00:47:45,260 --> 00:47:46,840 این برابر با لیست. 965 00:47:46,840 --> 00:47:48,850 شیرین. 966 00:47:48,850 --> 00:47:49,340 صبر کنید. 967 00:47:49,340 --> 00:47:50,590 این برابر است با چیزی. 968 00:47:50,590 --> 00:47:53,680 969 00:47:53,680 --> 00:47:56,190 که به نظر نمی رسد درست است. 970 00:47:56,190 --> 00:47:56,840 وجود دارد می کنیم. 971 00:47:56,840 --> 00:47:59,470 این به این دلیل در GDB، درست است، اگر آن خط شما بر روی آن هستید را 972 00:47:59,470 --> 00:48:00,330 هنوز اجرا نشده است. 973 00:48:00,330 --> 00:48:03,100 بنابراین شما نیاز به در واقع نوع در کنار اجرای خط 974 00:48:03,100 --> 00:48:05,230 قبل از دیدن نتایج آن است. 975 00:48:05,230 --> 00:48:06,680 بنابراین در اینجا ما می باشد. 976 00:48:06,680 --> 00:48:09,490 ما فقط اعدام این خط، قبلی برابر تهی. 977 00:48:09,490 --> 00:48:13,590 پس باز هم، اگر ما چاپ قبلی ما هیچ چیز عجیب و غریب را ببینید. 978 00:48:13,590 --> 00:48:18,680 اما اگر ما در واقع اجرای آن خط، پس ما را ببینید 979 00:48:18,680 --> 00:48:20,380 که این خط کار می کرد. 980 00:48:20,380 --> 00:48:21,060 >> بنابراین ما curr. 981 00:48:21,060 --> 00:48:23,180 کسانی که به هر دو خوب است. 982 00:48:23,180 --> 00:48:24,010 درست است؟ 983 00:48:24,010 --> 00:48:28,130 در حال حاضر ما در این خط راست در اینجا. 984 00:48:28,130 --> 00:48:29,310 در حالی که curr می کند تهی برابر نیست. 985 00:48:29,310 --> 00:48:31,110 خوب، چه curr برابر است؟ 986 00:48:31,110 --> 00:48:32,450 ما فقط دیدم آن را برابر تهی. 987 00:48:32,450 --> 00:48:33,210 ما آن را چاپ کرد. 988 00:48:33,210 --> 00:48:35,110 من آن را دوباره چاپ کنید. 989 00:48:35,110 --> 00:48:36,720 پس این است که در حالی که حلقه رفتن به اجرا؟ 990 00:48:36,720 --> 00:48:37,270 >> حضار: نه 991 00:48:37,270 --> 00:48:39,790 >> JASON HIRSCHHORN: به طوری که زمانی که من تایپ خط، می بینید که ما همه راه شروع به پریدن کرد 992 00:48:39,790 --> 00:48:41,390 به پایین، بازگشت کاذب. 993 00:48:41,390 --> 00:48:44,520 و پس از آن ما قصد داریم به بازگشت کاذب و بازگشت به برنامه های ما و 994 00:48:44,520 --> 00:48:48,020 در نهایت از چاپ، مانند ما دیدیم، قرار دادن موفقیت آمیز نبود. 995 00:48:48,020 --> 00:48:51,010 بنابراین، هر کسی هر گونه ایده در مورد آنچه ما باید انجام دهیم این مشکل را برطرف؟ 996 00:48:51,010 --> 00:48:54,200 997 00:48:54,200 --> 00:48:57,570 من قصد دارم صبر کن تا من می بینم یک زن و شوهر از دست بالا برود. 998 00:48:57,570 --> 00:48:58,830 ما این را اجرا نمی کند. 999 00:48:58,830 --> 00:49:01,660 به خاطر داشته باشید، این اولین بود چیزی که ما انجام می دهند. 1000 00:49:01,660 --> 00:49:02,430 من قصد ندارم برای انجام یک زن و شوهر. 1001 00:49:02,430 --> 00:49:03,670 من قصد دارم برای انجام چند. 1002 00:49:03,670 --> 00:49:04,830 از آنجا که یک زن و شوهر به معنی دو. 1003 00:49:04,830 --> 00:49:07,620 من برای بیش از دو صبر کنید. 1004 00:49:07,620 --> 00:49:10,690 >> اولین درج، curr، به طور پیش فرض برابر تهی. 1005 00:49:10,690 --> 00:49:14,050 و این حلقه فقط اجرا اگر curr است تهی نیست. 1006 00:49:14,050 --> 00:49:18,740 پس چگونه می توانم در اطراف این دریافت کنم؟ 1007 00:49:18,740 --> 00:49:19,990 من سه دست را ببینید. 1008 00:49:19,990 --> 00:49:28,490 1009 00:49:28,490 --> 00:49:29,780 من برای بیش از سه صبر کنید. 1010 00:49:29,780 --> 00:49:33,460 1011 00:49:33,460 --> 00:49:35,940 مارکوس، شما چه فکر میکنید؟ 1012 00:49:35,940 --> 00:49:37,730 >> یک مدعو: خوب، اگر شما به آن نیاز دارید را به اجرای بیش از یک بار، شما فقط 1013 00:49:37,730 --> 00:49:39,948 به یک حلقه انجام دهند در حالی که آن را تغییر دهید. 1014 00:49:39,948 --> 00:49:41,250 >> JASON HIRSCHHORN: OK. 1015 00:49:41,250 --> 00:49:44,240 خواهد شد که حل مشکل ما، هر چند؟ 1016 00:49:44,240 --> 00:49:47,750 >> رسید در این مورد هیچ دلیل این واقعیت است که لیست خالی است. 1017 00:49:47,750 --> 00:49:52,150 بنابراین شما احتمالا فقط نیاز به اضافه کردن بیانیه ای که اگر خروجی حلقه 1018 00:49:52,150 --> 00:49:55,312 سپس شما باید در پایان می شود لیست، که در آن نقطه شما 1019 00:49:55,312 --> 00:49:56,562 می توانید فقط آن را وارد کنید. 1020 00:49:56,562 --> 00:49:58,920 1021 00:49:58,920 --> 00:49:59,680 >> JASON HIRSCHHORN: من دوست دارم که. 1022 00:49:59,680 --> 00:50:00,500 این را حس می کند. 1023 00:50:00,500 --> 00:50:03,390 اگر حلقه خارج می شود - 1024 00:50:03,390 --> 00:50:04,800 چرا که در اینجا نادرست بازگشت. 1025 00:50:04,800 --> 00:50:08,220 بنابراین اگر خروجی حلقه، پس از آن ما در هستی در پایان این فهرست، و یا شاید 1026 00:50:08,220 --> 00:50:10,690 شروع از یک لیست در صورتی که هیچ چیز در آن وجود دارد آن، که همان پایان است. 1027 00:50:10,690 --> 00:50:12,770 بنابراین در حال حاضر ما می خواهیم برای وارد کردن چیزی در اینجا. 1028 00:50:12,770 --> 00:50:17,380 پس چگونه است که کد نگاه کنید، مارکوس؟ 1029 00:50:17,380 --> 00:50:21,600 >> یک مدعو: اگر شما در حال حاضر کردم گره malloced، شما فقط می گفت: 1030 00:50:21,600 --> 00:50:25,400 new_node-> آینده برابر تهی به دلیل آن را در پایان می شود. 1031 00:50:25,400 --> 00:50:27,510 یا new_node-> آینده برابر تهی. 1032 00:50:27,510 --> 00:50:27,765 >> JASON HIRSCHHORN: OK. 1033 00:50:27,765 --> 00:50:28,190 متأسفم. 1034 00:50:28,190 --> 00:50:35,760 New_node-> آینده برابر با تهی از آنجا که ما در پایان است. 1035 00:50:35,760 --> 00:50:36,460 که آن را قرار داده به سایت 1036 00:50:36,460 --> 00:50:37,710 چگونه ما آن را در لیست قرار داده است؟ 1037 00:50:37,710 --> 00:50:46,130 1038 00:50:46,130 --> 00:50:46,460 راست. 1039 00:50:46,460 --> 00:50:47,750 که فقط تنظیم آن به برابر است. 1040 00:50:47,750 --> 00:50:50,940 بدون که ما چگونه در واقع آن را در لیست؟ 1041 00:50:50,940 --> 00:50:54,170 چه خبر با اشاره به انتهای فهرست؟ 1042 00:50:54,170 --> 00:50:56,090 >> رسید سر. 1043 00:50:56,090 --> 00:50:57,566 >> JASON HIRSCHHORN: ببخشید؟ 1044 00:50:57,566 --> 00:50:59,440 >> رسید سر اشاره به انتهای لیست. 1045 00:50:59,440 --> 00:51:01,480 >> JASON HIRSCHHORN: اگر هیچ چیزی در آن وجود دارد این فهرست، سر اشاره به 1046 00:51:01,480 --> 00:51:04,170 انتهای لیست. 1047 00:51:04,170 --> 00:51:06,920 به طوری که شما برای کار درج اول است. 1048 00:51:06,920 --> 00:51:09,810 چه در مورد اگر یک زن و شوهر وجود دارد همه چیز در فهرست؟ 1049 00:51:09,810 --> 00:51:12,470 از ما نمی خواهیم به راه سر به new_node برابر است. 1050 00:51:12,470 --> 00:51:13,790 ما چه می خواهیم برای انجام وجود دارد؟ 1051 00:51:13,790 --> 00:51:15,610 آره؟ 1052 00:51:15,610 --> 00:51:16,860 احتمالا قبلی. 1053 00:51:16,860 --> 00:51:23,560 1054 00:51:23,560 --> 00:51:24,810 خواهد شد که کار می کند؟ 1055 00:51:24,810 --> 00:51:28,950 1056 00:51:28,950 --> 00:51:33,050 به یاد بیاورید که قبل است فقط یک اشاره گر به گره. 1057 00:51:33,050 --> 00:51:34,770 و قبل یک متغیر محلی است. 1058 00:51:34,770 --> 00:51:38,080 بنابراین این خط به یک متغیر محلی تعیین می کنند، قبلی، برابر یا 1059 00:51:38,080 --> 00:51:39,380 با اشاره به این گره جدید. 1060 00:51:39,380 --> 00:51:41,500 که نمی خواهد در واقع آن را در لیست ما، هر چند. 1061 00:51:41,500 --> 00:51:44,330 چگونه ما آن را در لیست ما قرار داده است؟ 1062 00:51:44,330 --> 00:51:45,620 Akchar؟ 1063 00:51:45,620 --> 00:51:46,870 >> رسید: من به شما فکر می کنم انجام فعلی-> بعدی. 1064 00:51:46,870 --> 00:51:50,186 1065 00:51:50,186 --> 00:51:52,550 >> JASON HIRSCHHORN: OK. 1066 00:51:52,550 --> 00:51:54,010 curr-> بعدی. 1067 00:51:54,010 --> 00:51:58,768 بنابراین دوباره، تنها به این دلیل که ما را می در اینجا این است، آنچه که در حال حاضر برابر می کند؟ 1068 00:51:58,768 --> 00:51:59,760 >> یک مدعو: برابر تهی. 1069 00:51:59,760 --> 00:52:01,790 >> JASON HIRSCHHORN: و چیزی اتفاق می افتد اگر ما تهی-> بعدی؟ 1070 00:52:01,790 --> 00:52:02,810 چه ما برای به دست آوردن؟ 1071 00:52:02,810 --> 00:52:04,060 ما یک خطای تقسیم بندی را دریافت کنید. 1072 00:52:04,060 --> 00:52:06,600 1073 00:52:06,600 --> 00:52:08,880 >> یک مدعو: آیا curr برابر تهی. 1074 00:52:08,880 --> 00:52:10,760 >> JASON HIRSCHHORN: این همان چیزی است عنوان قبلی، هر چند، به دلیل وجود دارد 1075 00:52:10,760 --> 00:52:12,820 یک متغیر محلی است که ما در حال تنظیم در این گره جدید برابر است. 1076 00:52:12,820 --> 00:52:16,680 1077 00:52:16,680 --> 00:52:20,920 بیایید به بازگشت به تصویر ما از قرار دادن چیزی. 1078 00:52:20,920 --> 00:52:25,500 می گویند ما در حال قرار دادن در پایان از لیست، بنابراین در اینجا ببینید. 1079 00:52:25,500 --> 00:52:30,010 ما یک اشاره گر فعلی که با اشاره به پوچ و یک نقطه قبلی 1080 00:52:30,010 --> 00:52:32,800 که با اشاره به 8. 1081 00:52:32,800 --> 00:52:35,330 بنابراین چه چیزی ما باید برای به روز رسانی، AVI؟ 1082 00:52:35,330 --> 00:52:36,680 >> یک مدعو: قبلی-> بعدی؟ 1083 00:52:36,680 --> 00:52:41,980 >> JASON HIRSCHHORN: قبلی-> آینده چه است ما می خواهیم برای به روز رسانی این دلیل که 1084 00:52:41,980 --> 00:52:44,960 در واقع قرار دادن آن در در پایان این فهرست است. 1085 00:52:44,960 --> 00:52:47,220 ما هنوز یک اشکال است، هر چند، که ما قصد داریم برای اجرا به. 1086 00:52:47,220 --> 00:52:50,090 که اشکال چیست؟ 1087 00:52:50,090 --> 00:52:50,790 آره؟ 1088 00:52:50,790 --> 00:52:53,860 >> رسید این خبر را به بازگشت نادرست در این مورد؟ 1089 00:52:53,860 --> 00:52:56,380 >> JASON HIRSCHHORN: اوه، است رفتن به نادرست بازگشت. 1090 00:52:56,380 --> 00:52:57,430 اما اشکال دیگر وجود دارد. 1091 00:52:57,430 --> 00:52:58,930 بنابراین ما نیاز به در بازگشت واقعی قرار داده است. 1092 00:52:58,930 --> 00:53:01,370 >> یک مدعو: آیا قبلی هنوز هم برابر تهی در بالای لیست؟ 1093 00:53:01,370 --> 00:53:03,645 >> JASON HIRSCHHORN: هنوز هم پس قبلی برابر صفر را در همان ابتدا. 1094 00:53:03,645 --> 00:53:07,480 1095 00:53:07,480 --> 00:53:10,440 پس چگونه می توان بیش از آن را دریافت کنید؟ 1096 00:53:10,440 --> 00:53:10,950 آره؟ 1097 00:53:10,950 --> 00:53:15,280 >> یک مدعو: من فکر می کنم شما می توانید بررسی انجام قبل از حلقه در حالی که برای دیدن اگر آن را 1098 00:53:15,280 --> 00:53:16,610 یک لیست خالی است. 1099 00:53:16,610 --> 00:53:17,000 >> JASON HIRSCHHORN: OK. 1100 00:53:17,000 --> 00:53:17,710 بنابراین اجازه دهید به اینجا بروید. 1101 00:53:17,710 --> 00:53:18,530 آیا چک. 1102 00:53:18,530 --> 00:53:19,380 اگر - 1103 00:53:19,380 --> 00:53:20,770 >> رسید بنابراین اگر سر برابر برابر تهی. 1104 00:53:20,770 --> 00:53:24,300 1105 00:53:24,300 --> 00:53:26,320 >> JASON HIRSCHHORN: اگر سر برابر برابر تهی - 1106 00:53:26,320 --> 00:53:27,790 که شما به ما بگویید که اگر آن را به یک لیست خالی است. 1107 00:53:27,790 --> 00:53:31,090 >> رسید و پس از آن شما سر انجام معادل جدید. 1108 00:53:31,090 --> 00:53:34,740 >> JASON HIRSCHHORN: سر برابر new_node؟ 1109 00:53:34,740 --> 00:53:35,730 و چه چیز دیگری باید انجام دهیم؟ 1110 00:53:35,730 --> 00:53:37,020 >> رسید و پس از آن شما به راست. 1111 00:53:37,020 --> 00:53:37,535 >> JASON HIRSCHHORN: نه کاملا. 1112 00:53:37,535 --> 00:53:38,785 ما در حال از دست رفته یک گام. 1113 00:53:38,785 --> 00:53:41,590 1114 00:53:41,590 --> 00:53:43,710 >> یک مدعو: New_node بعدی به نقطه تهی. 1115 00:53:43,710 --> 00:53:44,570 >> JASON HIRSCHHORN: دقیقا، آلدن. 1116 00:53:44,570 --> 00:53:46,600 و پس از آن ما می توانیم درست است بازگشت. 1117 00:53:46,600 --> 00:53:47,560 OK. 1118 00:53:47,560 --> 00:53:51,630 اما هنوز ایده خوبی است برای انجام کارهای در انتهای لیست، درست است؟ 1119 00:53:51,630 --> 00:53:51,950 بسیار خوب. 1120 00:53:51,950 --> 00:53:54,450 ما هنوز در واقع ممکن است به انتهای لیست. 1121 00:53:54,450 --> 00:53:57,870 بنابراین این کد خوب است اگر ما به هستی انتهای لیست و برخی وجود دارد 1122 00:53:57,870 --> 00:53:59,120 همه چیز در فهرست؟ 1123 00:53:59,120 --> 00:54:01,830 1124 00:54:01,830 --> 00:54:02,040 درست است؟ 1125 00:54:02,040 --> 00:54:03,540 از آنجا که ما هنوز هم ایده مارکوس را داشته باشد. 1126 00:54:03,540 --> 00:54:06,870 ما ممکن است این حلقه خارج شوید زیرا ما در انتهای لیست است. 1127 00:54:06,870 --> 00:54:09,308 پس ما هنوز هم این می خواهید کد را در اینجا؟ 1128 00:54:09,308 --> 00:54:10,520 >> حضار: بله. 1129 00:54:10,520 --> 00:54:11,000 >> JASON HIRSCHHORN: آره. 1130 00:54:11,000 --> 00:54:14,190 و چه نیازی به تغییر این به؟ 1131 00:54:14,190 --> 00:54:15,440 درست است. 1132 00:54:15,440 --> 00:54:19,580 1133 00:54:19,580 --> 00:54:21,640 آیا این خوب صدا به هر کس تا کنون؟ 1134 00:54:21,640 --> 00:54:22,420 هر کسی هر گونه - 1135 00:54:22,420 --> 00:54:23,480 AVI، آیا شما چیزی برای اضافه کردن؟ 1136 00:54:23,480 --> 00:54:23,920 >> حضار: نه 1137 00:54:23,920 --> 00:54:25,276 >> JASON HIRSCHHORN: OK. 1138 00:54:25,276 --> 00:54:27,010 بنابراین ما یک زن و شوهر از تغییرات ساخته شده است. 1139 00:54:27,010 --> 00:54:29,540 ما این چک قبل از ما ساخته شده در یک لیست خالی رفت. 1140 00:54:29,540 --> 00:54:31,790 بنابراین ما مراقبت از یک لیست خالی گرفته شده. 1141 00:54:31,790 --> 00:54:35,500 و در اینجا ما مراقبت از قرار دادن در زمان چیزی در انتهای لیست. 1142 00:54:35,500 --> 00:54:38,930 بنابراین آن را مانند این گرفتن حلقه در حالی که به نظر می رسد مراقبت از چیزها در میان، 1143 00:54:38,930 --> 00:54:41,920 جایی در لیست اگر وجود دارد همه چیز در این لیست می باشد. 1144 00:54:41,920 --> 00:54:42,280 >> OK. 1145 00:54:42,280 --> 00:54:44,310 اجازه دهید ما دوباره این برنامه را اجرا کنید. 1146 00:54:44,310 --> 00:54:50,170 1147 00:54:50,170 --> 00:54:50,755 موفق نشده. 1148 00:54:50,755 --> 00:54:52,190 >> رسید شما انجام آن را ندارد. 1149 00:54:52,190 --> 00:54:53,940 >> JASON HIRSCHHORN: اوه، من آن را ندارد. 1150 00:54:53,940 --> 00:54:56,250 نقطه خوب، مایکل. 1151 00:54:56,250 --> 00:54:57,500 اجازه دهید اضافه کردن یک آرایش مرتبط است. 1152 00:54:57,500 --> 00:55:01,590 1153 00:55:01,590 --> 00:55:04,830 خط 87 یک خطا وجود دارد. 1154 00:55:04,830 --> 00:55:05,420 خط 87. 1155 00:55:05,420 --> 00:55:06,600 آلدن، این خط شما به من داد بود. 1156 00:55:06,600 --> 00:55:08,962 چی شده؟ 1157 00:55:08,962 --> 00:55:10,710 >> یک مدعو: این موضوع باید تهی. 1158 00:55:10,710 --> 00:55:11,000 >> JASON HIRSCHHORN: بسیار عالی. 1159 00:55:11,000 --> 00:55:11,630 دقیقا درست است. 1160 00:55:11,630 --> 00:55:13,290 باید تهی باشد. 1161 00:55:13,290 --> 00:55:15,210 اجازه دهید دوباره. 1162 00:55:15,210 --> 00:55:17,220 کامپایل. 1163 00:55:17,220 --> 00:55:17,890 OK. 1164 00:55:17,890 --> 00:55:19,400 اجازه دهید وارد کردن سه. 1165 00:55:19,400 --> 00:55:20,570 درج موفقیت آمیز بود. 1166 00:55:20,570 --> 00:55:21,660 اجازه دهید آن را چاپ کنید. 1167 00:55:21,660 --> 00:55:23,590 اوه، اگر فقط می توانستیم تیک بزنید. 1168 00:55:23,590 --> 00:55:25,500 اما ما انجام می شود چاپ تابع است. 1169 00:55:25,500 --> 00:55:27,840 اجازه دهید چیز دیگری را وارد کنید. 1170 00:55:27,840 --> 00:55:29,090 چه چیزهایی را باید وارد کنیم؟ 1171 00:55:29,090 --> 00:55:31,120 1172 00:55:31,120 --> 00:55:31,940 >> یک مدعو: هفت. 1173 00:55:31,940 --> 00:55:33,340 >> JASON HIRSCHHORN: هفت؟ 1174 00:55:33,340 --> 00:55:34,590 >> حضار: بله. 1175 00:55:34,590 --> 00:55:38,680 1176 00:55:38,680 --> 00:55:39,780 >> JASON HIRSCHHORN: ما یک گسل SEG. 1177 00:55:39,780 --> 00:55:43,760 بنابراین ما کردم، اما ما به وضوح نمی تواند دو دریافت کنید. 1178 00:55:43,760 --> 00:55:45,690 این 05:07 می باشد. 1179 00:55:45,690 --> 00:55:48,370 بنابراین ما می تواند این اشکال زدایی برای سه دقیقه. 1180 00:55:48,370 --> 00:55:51,240 اما من قصد دارم به ما در اینجا ترک و حرکت بر روی هش جدول. 1181 00:55:51,240 --> 00:55:54,290 اما باز هم، پاسخ برای این کد من آن را برای شما در یک بیت ایمیل. 1182 00:55:54,290 --> 00:55:55,440 ما بسیار نزدیک به آن. 1183 00:55:55,440 --> 00:55:58,300 من به شدت شما را تشویق به کشف کردن چه خبر است در اینجا و تعمیر آن. 1184 00:55:58,300 --> 00:56:02,400 بنابراین من به شما این کد به ایمیل چاه + راه حل - 1185 00:56:02,400 --> 00:56:03,670 احتمالا راه حل بعد. 1186 00:56:03,670 --> 00:56:05,110 اول این کد. 1187 00:56:05,110 --> 00:56:08,290 >> چیز دیگری من می خواهم به قبل از ما انجام می دهیم پایان ما هر چیزی آزاد نیست. 1188 00:56:08,290 --> 00:56:10,370 بنابراین من می خواهم به شما نشان دهد چه valgrind به نظر می رسد. 1189 00:56:10,370 --> 00:56:14,310 اگر ما اجرا مرزهای valgrind در برنامه ما،. / مرتبط است. 1190 00:56:14,310 --> 00:56:22,540 باز هم، با توجه به این اسلاید، ما باید valgrind با برخی از انواع اجرا 1191 00:56:22,540 --> 00:56:26,410 گزینه، در این مورد - نشت چک = کامل. 1192 00:56:26,410 --> 00:56:27,660 بنابراین اجازه دهید ارسال valgrind - نشت چک = کامل. 1193 00:56:27,660 --> 00:56:31,910 1194 00:56:31,910 --> 00:56:35,080 بنابراین این valgrind را اجرا خواهد کرد در برنامه ما. 1195 00:56:35,080 --> 00:56:37,000 و در حال حاضر این برنامه در واقع اجرا می شود. 1196 00:56:37,000 --> 00:56:40,190 بنابراین ما در حال رفتن به آن را اجرا کنید درست مثل قبل از آن، چیزی وارد قرار داده 1197 00:56:40,190 --> 00:56:40,830 من قصد دارم در سه قرار داده است. 1198 00:56:40,830 --> 00:56:41,790 این نسخهها کار میکند. 1199 00:56:41,790 --> 00:56:43,202 من قصد ندارم به تلاش برای در چیزی قرار داده دیگری چون ما قصد داریم به 1200 00:56:43,202 --> 00:56:44,710 دریافت کاذب SEG در این مورد. 1201 00:56:44,710 --> 00:56:46,700 بنابراین من فقط رفتن را ترک کنید. 1202 00:56:46,700 --> 00:56:50,160 >> و در حال حاضر می بینید در اینجا نشت و خلاصه پشته. 1203 00:56:50,160 --> 00:56:52,310 اینها چیزهای خوبی هستند که می خواهید بررسی کنید. 1204 00:56:52,310 --> 00:56:56,780 پس خلاصه پشته - آن را می گوید، در استفاده از در خروجی - هشت بایت در یک بلوک. 1205 00:56:56,780 --> 00:56:58,370 این یک بلوک است گره ما malloced. 1206 00:56:58,370 --> 00:57:02,230 مایکل، به شما گفت قبل از یک گره هشت است گزش به دلیل آن است که عدد صحیح 1207 00:57:02,230 --> 00:57:02,680 و اشاره گر. 1208 00:57:02,680 --> 00:57:04,550 به طوری که گره ما است. 1209 00:57:04,550 --> 00:57:08,170 و سپس آن را می گوید ما malloc استفاده هفت بار و ما آزاد 1210 00:57:08,170 --> 00:57:08,940 چیزی شش بار. 1211 00:57:08,940 --> 00:57:13,680 اما ما هرگز به نام آزاد، بنابراین من هیچ ایده چه چیزی این است که صحبت کردن در مورد. 1212 00:57:13,680 --> 00:57:18,490 >> اما کافی است که گفته است که زمانی که شما برنامه اجرا می شود، malloc است که به نام 1213 00:57:18,490 --> 00:57:20,330 در بعضی از نقاط دیگر است که ما لازم نیست که به نگرانی در مورد. 1214 00:57:20,330 --> 00:57:22,460 بنابراین malloc احتمالا نامیده می شد در بعضی از نقاط. 1215 00:57:22,460 --> 00:57:24,480 ما لازم نیست که نگران باشید که در آن. 1216 00:57:24,480 --> 00:57:26,240 اما این واقعا به ما. 1217 00:57:26,240 --> 00:57:27,380 این خط اول ما است. 1218 00:57:27,380 --> 00:57:28,320 ما در آن بلوک را ترک کرد. 1219 00:57:28,320 --> 00:57:30,330 و شما می توانید در اینجا مشاهده کنید در خلاصه نشت. 1220 00:57:30,330 --> 00:57:31,950 هنوز هم قابل دسترسی - 1221 00:57:31,950 --> 00:57:32,930 هشت بایت در یک بلوک. 1222 00:57:32,930 --> 00:57:34,100 این بدان معنی است که حافظه - 1223 00:57:34,100 --> 00:57:35,730 ما که حافظه به بیرون درز. 1224 00:57:35,730 --> 00:57:37,570 قطعا از دست داده است - 1225 00:57:37,570 --> 00:57:38,770 چیزی است که برای همیشه از دست داد. 1226 00:57:38,770 --> 00:57:40,590 به طور کلی، شما نمی خواهد هر چیزی وجود دارد. 1227 00:57:40,590 --> 00:57:44,780 هنوز هم قابل دسترسی می باشد به طور کلی که در آن شما همه چیز را ببینید، جایی که شما می خواهید 1228 00:57:44,780 --> 00:57:48,900 به نگاه برای دیدن آنچه که کد باید به شما آزاد شده اند اما شما را فراموش کرده به آزاد. 1229 00:57:48,900 --> 00:57:53,170 >> و پس از آن اگر این مورد وجود ندارد، اگر ما همه چیز آزاد بود، 1230 00:57:53,170 --> 00:57:54,360 ما می توانیم بررسی کنید که. 1231 00:57:54,360 --> 00:57:57,330 اجازه دهید برنامه را اجرا کنید در هر چیزی قرار دادن نیست. 1232 00:57:57,330 --> 00:57:59,800 شما را در اینجا مشاهده کنید در حال استفاده در خروجی - 1233 00:57:59,800 --> 00:58:01,310 صفر بایت در صفر بلوک. 1234 00:58:01,310 --> 00:58:06,310 این بدان معناست که ما هیچ چیز به حال در زمانی که این برنامه خارج. 1235 00:58:06,310 --> 00:58:12,090 بنابراین قبل از تبدیل در pset6، اجرا valgrind و مطمئن شوید که شما لازم نیست 1236 00:58:12,090 --> 00:58:15,310 هر حافظه نشت در برنامه شما. 1237 00:58:15,310 --> 00:58:17,910 اگر شما هر گونه سوال با valgrind، در صورت تمایل به رسیدن. 1238 00:58:17,910 --> 00:58:18,700 اما این است که چگونه شما آن را استفاده کنید. 1239 00:58:18,700 --> 00:58:20,890 بسیار ساده است - اگر شما ببینید در استفاده در خروجی - 1240 00:58:20,890 --> 00:58:22,270 هر بایت در هر بلوک. 1241 00:58:22,270 --> 00:58:27,890 1242 00:58:27,890 --> 00:58:29,580 >> بنابراین ما در گره درج مشغول به کار بودند. 1243 00:58:29,580 --> 00:58:33,840 من تا به حال دو تابع دیگر در اینجا - گره ها و گره رایگان چاپ کنید. 1244 00:58:33,840 --> 00:58:37,780 باز هم، این توابع هستند که می رفتن به خوبی برای شما به تمرین 1245 00:58:37,780 --> 00:58:40,990 چرا که آنها شما نه تنها با کمک خواهد کرد این تمرینات نمونه بلکه 1246 00:58:40,990 --> 00:58:42,180 در مسئله تنظیم شده است. 1247 00:58:42,180 --> 00:58:44,230 آنها نقشه در بسیار نزدیک به همه چیز شما به باید انجام دهید در 1248 00:58:44,230 --> 00:58:45,010 مشکل تنظیم شده است. 1249 00:58:45,010 --> 00:58:47,640 اما من نمی خواهم تا مطمئن شوید ما در همه چیز را لمس کنید. 1250 00:58:47,640 --> 00:58:50,400 و جداول هش نیز بسیار مهم می باشد آنچه ما انجام می دهیم در این بخش را 1251 00:58:50,400 --> 00:58:51,980 هفته - و یا در مجموعه ای مشکل است. 1252 00:58:51,980 --> 00:58:55,200 >> بنابراین ما در حال به پایان بخش صحبت کردن در مورد جداول هش. 1253 00:58:55,200 --> 00:58:58,140 اگر شما متوجه من ساخته شده جدول هش کم است. 1254 00:58:58,140 --> 00:59:00,020 این چیزی است که ما در حال صحبت نمی درباره گذاشت. 1255 00:59:00,020 --> 00:59:03,540 ما در حال صحبت کردن در مورد مختلف نوع جداول هش. 1256 00:59:03,540 --> 00:59:07,300 و در هسته، یک جدول هش آن چیزی بیشتر از یک است 1257 00:59:07,300 --> 00:59:08,860 آرایه به علاوه یک تابع هش. 1258 00:59:08,860 --> 00:59:11,150 ما قصد داریم برای کمی صحبت فقط به مطمئن شوید که همه می دانیم چه 1259 00:59:11,150 --> 00:59:12,110 تابع هش است. 1260 00:59:12,110 --> 00:59:15,420 و من شما در حال حاضر به گفتن است که در آن است چیزی بیشتر از دو چیز - 1261 00:59:15,420 --> 00:59:18,590 یک آرایه و یک تابع هش. 1262 00:59:18,590 --> 00:59:20,716 و در اینجا مراحل می باشد که این عمل می کند. 1263 00:59:20,716 --> 00:59:31,560 1264 00:59:31,560 --> 00:59:32,810 >> این آرایه ما وجود دارد. 1265 00:59:32,810 --> 00:59:38,460 1266 00:59:38,460 --> 00:59:39,460 این تابع ما وجود دارد. 1267 00:59:39,460 --> 00:59:43,180 به طور خاص، توابع هش نیاز به انجام چند چیز با این. 1268 00:59:43,180 --> 00:59:45,040 من قصد دارم به بحث به طور خاص در مورد این مشکل تنظیم شده است. 1269 00:59:45,040 --> 00:59:46,450 این احتمالا به را در یک رشته است. 1270 00:59:46,450 --> 00:59:50,570 1271 00:59:50,570 --> 00:59:51,770 و آنچه در آن به بازگشت؟ 1272 00:59:51,770 --> 00:59:52,640 چه نوع داده؟ 1273 00:59:52,640 --> 00:59:54,260 آلدن؟ 1274 00:59:54,260 --> 00:59:55,760 تابع هش شما بازگشت؟ 1275 00:59:55,760 --> 00:59:58,760 یک عدد صحیح. 1276 00:59:58,760 --> 01:00:01,700 پس این چیزی است که مخلوط است جدول شامل - 1277 01:00:01,700 --> 01:00:05,430 یک جدول در قالب آرایه و یک تابع هش. 1278 01:00:05,430 --> 01:00:06,010 چگونه کار می کند؟ 1279 01:00:06,010 --> 01:00:07,300 آن را در سه مرحله کار می کند. 1280 01:00:07,300 --> 01:00:08,740 ما آن را یک کلید می دهد. 1281 01:00:08,740 --> 01:00:11,470 در این مورد، ما یک رشته را. 1282 01:00:11,470 --> 01:00:18,140 ما تابع هش تماس بگیرید در هر گام یک در کلید و ما یک ارزش است. 1283 01:00:18,140 --> 01:00:20,310 >> به طور خاص، ما می گویم ما یک عدد صحیح. 1284 01:00:20,310 --> 01:00:25,630 که عدد صحیح، بسیار خاص وجود دارد محدود به آنچه که صحیح می تواند باشد. 1285 01:00:25,630 --> 01:00:28,880 در این مثال، آرایه ما با اندازه سه. 1286 01:00:28,880 --> 01:00:32,330 پس چه تعداد می تواند که عدد صحیح باشد. 1287 01:00:32,330 --> 01:00:35,970 دامنهی مقادیر معتبر برای چیست که عدد صحیح، نوع بازگشت از این 1288 01:00:35,970 --> 01:00:37,220 هش تابع؟ 1289 01:00:37,220 --> 01:00:40,440 1290 01:00:40,440 --> 01:00:42,110 صفر، یک و دو. 1291 01:00:42,110 --> 01:00:46,060 نقطه از تابع هش است به کشف کردن مکان از آرایه 1292 01:00:46,060 --> 01:00:47,790 که در آن اصلی ما رفتن است. 1293 01:00:47,790 --> 01:00:51,290 تنها سه امکان وجود دارد مکان های اینجا - 1294 01:00:51,290 --> 01:00:52,130 صفر، یک، یا دو. 1295 01:00:52,130 --> 01:00:55,360 بنابراین این عملکرد بهتر بازگشت صفر، یک، یا دو. 1296 01:00:55,360 --> 01:00:58,740 برخی از شاخص های معتبر در این آرایه. 1297 01:00:58,740 --> 01:01:02,770 >> و پس از آن بسته به جایی که آن را می گرداند، شما می توانید آرایه وجود دارد باز را ببینید 1298 01:01:02,770 --> 01:01:03,730 براکت ارزش. 1299 01:01:03,730 --> 01:01:05,800 تا جایی که ما قرار دادن کلید. 1300 01:01:05,800 --> 01:01:11,280 بنابراین ما در کدو تنبل پرتاب، ما از دریافت صفر است. 1301 01:01:11,280 --> 01:01:15,540 در آرایه براکت 0، ما کدو تنبل قرار داده است. 1302 01:01:15,540 --> 01:01:21,070 ما در گربه پرتاب، ما خارج است. 1303 01:01:21,070 --> 01:01:24,110 ما گربه در یکی قرار داده است. 1304 01:01:24,110 --> 01:01:25,480 ما در عنکبوت قرار داده است. 1305 01:01:25,480 --> 01:01:26,710 ما باید از دو. 1306 01:01:26,710 --> 01:01:30,200 ما عنکبوت در آرایه براکت دو قرار داده است. 1307 01:01:30,200 --> 01:01:32,300 این امر می تواند تا خوب اگر آن را مانند که کار می کرد. 1308 01:01:32,300 --> 01:01:35,570 اما متاسفانه، به عنوان خواهیم دید، آن را کمی پیچیده تر است. 1309 01:01:35,570 --> 01:01:37,570 >> قبل از اینکه ما وجود دارد، هر گونه سؤال در مورد این پایه 1310 01:01:37,570 --> 01:01:38,820 تنظیم یک جدول هش؟ 1311 01:01:38,820 --> 01:01:49,050 1312 01:01:49,050 --> 01:01:51,940 این یک تصویر از دقیقا همان است آنچه که ما در هیئت مدیره به خود جلب کرد. 1313 01:01:51,940 --> 01:01:55,420 اما از آنجا که ما آن را در هیئت مدیره به خود جلب کرد، I قصد ندارم به آن بیشتر است. 1314 01:01:55,420 --> 01:02:00,430 اساسا کلید، جعبه سیاه سحر و جادو - یا در این مورد، جعبه ای آبی سیر - یک 1315 01:02:00,430 --> 01:02:02,410 تابع هش آنها را در سطل. 1316 01:02:02,410 --> 01:02:04,690 و در این مثال ما قرار دادن نام نیست. 1317 01:02:04,690 --> 01:02:07,880 ما در حال قرار دادن تلفن همراه تعداد نام در سطل. 1318 01:02:07,880 --> 01:02:10,430 اما شما به خوبی می تواند فقط قرار دادن نام در سطل. 1319 01:02:10,430 --> 01:02:12,950 >> این فقط یک تصویر از آنچه است ما در هیئت مدیره به خود جلب کرد. 1320 01:02:12,950 --> 01:02:14,460 ما مشکلات بالقوه، هر چند. 1321 01:02:14,460 --> 01:02:17,470 و دو وجود دارد به طور خاص اسلاید است که من می خواهم برای بیش از. 1322 01:02:17,470 --> 01:02:20,230 یکی از اولین است در مورد یک تابع هش. 1323 01:02:20,230 --> 01:02:22,620 بنابراین من سوال پرسید، چه چیزی باعث می شود یک تابع هش خوب است؟ 1324 01:02:22,620 --> 01:02:24,220 من دو پاسخ می دهد. 1325 01:02:24,220 --> 01:02:26,630 اول این است که این قطعی. 1326 01:02:26,630 --> 01:02:29,660 در زمینه توابع هش، به چه معنی است؟ 1327 01:02:29,660 --> 01:02:37,840 1328 01:02:37,840 --> 01:02:39,282 بله؟ 1329 01:02:39,282 --> 01:02:42,850 >> رسید آن را می توانید پیدا کنید شاخص در زمان ثابت؟ 1330 01:02:42,850 --> 01:02:43,810 >> JASON HIRSCHHORN: که چیزی است که به این معنی نیست. 1331 01:02:43,810 --> 01:02:44,725 اما این یک حدس خوب است. 1332 01:02:44,725 --> 01:02:46,100 هر کس دیگری یک حدس به این به چه معناست؟ 1333 01:02:46,100 --> 01:02:47,780 این یک تابع هش خوب قطعی است؟ 1334 01:02:47,780 --> 01:02:48,280 آنی؟ 1335 01:02:48,280 --> 01:02:51,680 >> رسید که یک کلید فقط می توانید نقشه برداری می شود به یک مکان در جدول هش. 1336 01:02:51,680 --> 01:02:53,070 >> JASON HIRSCHHORN: که دقیقا درست است. 1337 01:02:53,070 --> 01:02:57,430 هر بار که شما در کدو قرار داده، آن همیشه صفر را برمی گرداند. 1338 01:02:57,430 --> 01:03:01,660 اگر شما در کدو تنبل و مخلوط خود قرار داده است تابع مقدار صفر را بر می گرداند، اما تا به 1339 01:03:01,660 --> 01:03:06,060 احتمال بازگشت چیزی دیگر بزرگتر از صفر - 1340 01:03:06,060 --> 01:03:09,280 تا شاید آن می تواند یک گاهی اوقات بازگشت یا دو بار دیگر - 1341 01:03:09,280 --> 01:03:11,100 است که یک تابع هش خوب نیست. 1342 01:03:11,100 --> 01:03:11,800 شما دقیقا حق با شماست. 1343 01:03:11,800 --> 01:03:15,680 تابع هش شما باید بازگشت عدد صحیح دقیقا همان، در این مورد، برای 1344 01:03:15,680 --> 01:03:17,780 رشته های مشابه. 1345 01:03:17,780 --> 01:03:22,210 >> شاید آن را می گرداند عدد صحیح دقیقا همان برای رشته های مشابه 1346 01:03:22,210 --> 01:03:24,430 بدون در نظر گرفتن سرمایه. 1347 01:03:24,430 --> 01:03:27,980 اما در آن صورت آن را هنوز هم قطعی به دلیل کارهای مختلف 1348 01:03:27,980 --> 01:03:29,350 بر روی همان ارزش نگاشت. 1349 01:03:29,350 --> 01:03:30,170 این خوب است. 1350 01:03:30,170 --> 01:03:32,615 تا زمانی که تنها یک وجود دارد خروجی برای ورودی داده شده است. 1351 01:03:32,615 --> 01:03:35,630 1352 01:03:35,630 --> 01:03:36,350 >> OK. 1353 01:03:36,350 --> 01:03:38,340 نکته دوم این است که شاخص معتبر را برمی گرداند. 1354 01:03:38,340 --> 01:03:40,220 ما به ارمغان آورد تا که پیش از آن. 1355 01:03:40,220 --> 01:03:41,860 این تابع هش - 1356 01:03:41,860 --> 01:03:43,710 آه پسر - 1357 01:03:43,710 --> 01:03:46,840 یک تابع هش باید بازگشت شاخص معتبر است. 1358 01:03:46,840 --> 01:03:47,740 بنابراین می گویند - 1359 01:03:47,740 --> 01:03:48,990 اجازه بازگشت به این مثال. 1360 01:03:48,990 --> 01:03:52,580 1361 01:03:52,580 --> 01:03:57,540 تابع هش من شمارش تا حروف در کلمه است. 1362 01:03:57,540 --> 01:03:58,380 این تابع هش است. 1363 01:03:58,380 --> 01:03:59,740 و این عدد صحیح را برمی گرداند. 1364 01:03:59,740 --> 01:04:04,280 بنابراین اگر من کلمه A، آن را رفتن به بازگشت است. 1365 01:04:04,280 --> 01:04:06,900 و آن را برای قرار دادن در اینجا ببینید. 1366 01:04:06,900 --> 01:04:09,430 اگر من در خفاش کلمه قرار داده است؟ 1367 01:04:09,430 --> 01:04:11,310 آن را به بازگشت سه. 1368 01:04:11,310 --> 01:04:12,560 کجا خفاش برود؟ 1369 01:04:12,560 --> 01:04:18,730 1370 01:04:18,730 --> 01:04:19,750 >> این مناسب نیست. 1371 01:04:19,750 --> 01:04:21,000 اما برای این کار باید به جایی بروید. 1372 01:04:21,000 --> 01:04:23,340 این جدول هش من است بعد از همه، و همه چیز باید به جایی بروید. 1373 01:04:23,340 --> 01:04:24,590 پس از کجا باید خفاش برود؟ 1374 01:04:24,590 --> 01:04:28,020 1375 01:04:28,020 --> 01:04:28,710 هر گونه افکار؟ 1376 01:04:28,710 --> 01:04:29,450 حدس بزند؟ 1377 01:04:29,450 --> 01:04:30,280 حدس خوب است؟ 1378 01:04:30,280 --> 01:04:31,220 >> یک مدعو: صفر. 1379 01:04:31,220 --> 01:04:32,120 >> JASON HIRSCHHORN: چرا صفر؟ 1380 01:04:32,120 --> 01:04:35,990 >> رسید آنجا که سه پیمانه سه صفر است؟ 1381 01:04:35,990 --> 01:04:38,620 >> JASON HIRSCHHORN: سه پیمانه سه صفر است. 1382 01:04:38,620 --> 01:04:40,810 این یک حدس بزرگ است، و این درست است. 1383 01:04:40,810 --> 01:04:43,870 بنابراین در این مورد که باید احتمالا در صفر بروید. 1384 01:04:43,870 --> 01:04:51,080 بنابراین یک راه خوب برای اطمینان حاصل شود که این هش تابع تنها شاخص معتبر می گرداند 1385 01:04:51,080 --> 01:04:54,580 به آن پیمانه های اندازه جدول. 1386 01:04:54,580 --> 01:04:57,360 اگر باقی مانده هر چه این بازده های سه، شما همیشه برای به دست آوردن 1387 01:04:57,360 --> 01:05:00,930 چیزی بین صفر، یک و دو. 1388 01:05:00,930 --> 01:05:05,160 و اگر این همیشه می گرداند و هفت، و شما همیشه با سه پیمانه، شما 1389 01:05:05,160 --> 01:05:06,030 همیشه برای به دست آوردن همین. 1390 01:05:06,030 --> 01:05:09,270 >> پس از آن هنوز قطعی اگر شما باقی مانده. 1391 01:05:09,270 --> 01:05:11,420 اما این اطمینان خواهد داد که شما هرگز چیزی را دریافت کنید - 1392 01:05:11,420 --> 01:05:12,940 صنعت نامعتبر است. 1393 01:05:12,940 --> 01:05:16,840 به طور کلی، که باقی مانده باید اتفاق می افتد در داخل تابع هش خود را. 1394 01:05:16,840 --> 01:05:18,240 بنابراین شما لازم نیست که در مورد این نگران باشید. 1395 01:05:18,240 --> 01:05:20,555 شما فقط می توانید اطمینان حاصل شود که این یک شاخص معتبر است. 1396 01:05:20,555 --> 01:05:23,700 1397 01:05:23,700 --> 01:05:26,700 هر گونه سؤال در این دام بالقوه؟ 1398 01:05:26,700 --> 01:05:36,590 1399 01:05:36,590 --> 01:05:39,060 >> OK. 1400 01:05:39,060 --> 01:05:40,290 وجود دارد و ما بروید. 1401 01:05:40,290 --> 01:05:42,890 دام بالقوه بعدی، و این یکی از بزرگ است. 1402 01:05:42,890 --> 01:05:46,880 اگر نقشه دو کلید به همان مقدار؟ 1403 01:05:46,880 --> 01:05:49,350 پس دو راه که مسئولیت رسیدگی به این وجود دارد. 1404 01:05:49,350 --> 01:05:53,140 1405 01:05:53,140 --> 01:05:56,020 یکی از اولین نامیده می شود خطی پروب، که من هستم 1406 01:05:56,020 --> 01:05:57,300 رفتن به بیش از. 1407 01:05:57,300 --> 01:06:01,120 اما شما باید با آن آشنا شود که چگونه که کار می کند و چه چیزی است. 1408 01:06:01,120 --> 01:06:05,610 >> دوم من می خواهم برای بیش از چرا که این یکی که بسیاری است 1409 01:06:05,610 --> 01:06:08,290 مردم احتمالا تا پایان تصمیم گیری برای استفاده در مجموعه ای مشکل است. 1410 01:06:08,290 --> 01:06:09,820 البته، شما لازم نیست که. 1411 01:06:09,820 --> 01:06:15,280 اما برای مجموعه مشکل، بسیاری از مردم تمایل به انتخاب برای ایجاد یک جدول هش 1412 01:06:15,280 --> 01:06:17,950 با زنجیری شدن این جداگانه به پیاده سازی فرهنگ لغت خود. 1413 01:06:17,950 --> 01:06:21,390 بنابراین ما قصد داریم تا بیش از آنچه در آن به معنی به برای ایجاد یک جدول هش با 1414 01:06:21,390 --> 01:06:23,890 زنجیری شدن جداگانه. 1415 01:06:23,890 --> 01:06:26,260 >> بنابراین من در کدو قرار داده است. 1416 01:06:26,260 --> 01:06:29,560 این صفر را برمی گرداند. 1417 01:06:29,560 --> 01:06:31,410 و من قرار داده کدو تنبل در اینجا. 1418 01:06:31,410 --> 01:06:35,880 1419 01:06:35,880 --> 01:06:37,930 سپس من در قرار داده است - 1420 01:06:37,930 --> 01:06:39,922 چه چیز دیگری هالووین با مضمون است؟ 1421 01:06:39,922 --> 01:06:42,200 >> یک مدعو: آب نبات. 1422 01:06:42,200 --> 01:06:42,770 >> JASON HIRSCHHORN: آب نبات! 1423 01:06:42,770 --> 01:06:43,910 این یکی از بزرگ است. 1424 01:06:43,910 --> 01:06:47,760 من در آب نبات و آب نبات را همچنین به من صفر است. 1425 01:06:47,760 --> 01:06:49,350 چه کار کنم؟ 1426 01:06:49,350 --> 01:06:51,940 هر گونه ایده ها؟ 1427 01:06:51,940 --> 01:06:53,940 از آنجا که شما همه نوع دانم چه زنجیری جداگانه است. 1428 01:06:53,940 --> 01:06:55,190 بنابراین هر ایده چه کاری انجام دهید؟ 1429 01:06:55,190 --> 01:06:58,170 1430 01:06:58,170 --> 01:06:59,110 آره. 1431 01:06:59,110 --> 01:07:03,810 >> یک مدعو: قرار دادن رشته در واقع در جدول هش. 1432 01:07:03,810 --> 01:07:08,910 >> JASON HIRSCHHORN: بنابراین ما در حال رفتن به قرعه کشی ایده خوبی است اینجا. 1433 01:07:08,910 --> 01:07:09,340 OK. 1434 01:07:09,340 --> 01:07:12,290 >> یک مدعو: آیا پشته دارید [نامفهوم] 1435 01:07:12,290 --> 01:07:16,640 اشاره گر که به آغاز یک لیست. 1436 01:07:16,640 --> 01:07:20,930 و پس از آن کدو تنبل است مقدار اول در آن لیست پیوندی و آب نبات است 1437 01:07:20,930 --> 01:07:22,800 ارزش دوم در این لیست در ارتباط است. 1438 01:07:22,800 --> 01:07:23,420 >> JASON HIRSCHHORN: OK. 1439 01:07:23,420 --> 01:07:24,670 مارکوس، که برجسته بود. 1440 01:07:24,670 --> 01:07:26,160 من قصد دارم برای شکستن آن است. 1441 01:07:26,160 --> 01:07:28,890 مارکوس می گوید نمی بازنویسی کدو تنبل. 1442 01:07:28,890 --> 01:07:30,660 این خیلی بد است. 1443 01:07:30,660 --> 01:07:33,640 آیا آب نبات را در جایی دیگر نیست. 1444 01:07:33,640 --> 01:07:35,390 ما قصد داریم تا آنها را در هر دو صفر است. 1445 01:07:35,390 --> 01:07:37,770 اما ما قصد داریم برای مقابله با قرار دادن آنها در صفر 1446 01:07:37,770 --> 01:07:39,395 ایجاد یک لیست در صفر. 1447 01:07:39,395 --> 01:07:42,430 و ما قصد داریم برای ایجاد یک لیست از هر چیزی که به صفر نقشه برداری. 1448 01:07:42,430 --> 01:07:47,960 و بهترین راه ما یاد گرفته برای ایجاد یک لیست است که می تواند رشد کند و کوچک کردن 1449 01:07:47,960 --> 01:07:49,840 به صورت پویا است که در داخل نشده است یکی دیگر از آرایه. 1450 01:07:49,840 --> 01:07:51,510 بنابراین یک آرایه چند بعدی. 1451 01:07:51,510 --> 01:07:54,080 اما فقط به یک لیست پیوندی ایجاد کنید. 1452 01:07:54,080 --> 01:07:55,330 >> پس چه او پیشنهاد - 1453 01:07:55,330 --> 01:07:57,950 1454 01:07:57,950 --> 01:07:59,200 من قصد دارم برای دریافت جدید - 1455 01:07:59,200 --> 01:08:15,380 1456 01:08:15,380 --> 01:08:19,689 ایجاد یک آرایه با اشاره گر، آرایه ای از اشاره گرها. 1457 01:08:19,689 --> 01:08:20,580 OK. 1458 01:08:20,580 --> 01:08:24,180 هر گونه ایده و یا اشاره چه نوع از این اشاره گر باید باشد؟ 1459 01:08:24,180 --> 01:08:26,290 مارکوس؟ 1460 01:08:26,290 --> 01:08:27,250 >> رسید اشاره گرها به - 1461 01:08:27,250 --> 01:08:28,609 >> JASON HIRSCHHORN: از آنجا که شما گفت: یک لیست پیوندی، پس - 1462 01:08:28,609 --> 01:08:29,520 >> یک مدعو: اشاره گر به گره؟ 1463 01:08:29,520 --> 01:08:30,670 >> JASON HIRSCHHORN: اشاره گر به گره. 1464 01:08:30,670 --> 01:08:32,830 اگر چیزهایی که در ما مرتبط است لیست گره ها و سپس آنها 1465 01:08:32,830 --> 01:08:34,370 باید اشاره گر گره باشد. 1466 01:08:34,370 --> 01:08:35,939 و چه چیزی آنها برابر در ابتدا؟ 1467 01:08:35,939 --> 01:08:36,990 >> رسید نول. 1468 01:08:36,990 --> 01:08:38,240 >> JASON HIRSCHHORN: تهی. 1469 01:08:38,240 --> 01:08:44,540 1470 01:08:44,540 --> 01:08:46,080 بنابراین چیزی که خالی ما وجود دارد. 1471 01:08:46,080 --> 01:08:47,170 بازده کدو تنبل صفر است. 1472 01:08:47,170 --> 01:08:48,569 چه کنیم؟ 1473 01:08:48,569 --> 01:08:49,609 من راه رفتن را از طریق آن؟ 1474 01:08:49,609 --> 01:08:50,810 در واقع، مارکوس در حال حاضر به من داد. 1475 01:08:50,810 --> 01:08:52,439 کسی دیگری من را از طریق آن راه رفتن. 1476 01:08:52,439 --> 01:08:54,760 چه کار می کنیم زمانی که ما - 1477 01:08:54,760 --> 01:08:56,609 این به نظر می رسد بسیار شبیه به آنچه که ما فقط انجام شد. 1478 01:08:56,609 --> 01:08:57,396 AVI. 1479 01:08:57,396 --> 01:08:59,090 >> یک مدعو: من قصد دارم به یک حدس. 1480 01:08:59,090 --> 01:09:01,250 بنابراین، هنگامی که شما آب نبات دریافت کنید. 1481 01:09:01,250 --> 01:09:01,640 >> JASON HIRSCHHORN: آره. 1482 01:09:01,640 --> 01:09:03,120 خب، ما کدو تنبل شدم. 1483 01:09:03,120 --> 01:09:03,870 اجازه دهید اول ما را دریافت کنید. 1484 01:09:03,870 --> 01:09:04,324 ما کدو تنبل شدم. 1485 01:09:04,324 --> 01:09:04,779 >> تماشاچیان: OK. 1486 01:09:04,779 --> 01:09:05,880 بازده کدو تنبل صفر است. 1487 01:09:05,880 --> 01:09:08,770 بنابراین شما آن را در آن قرار داده است. 1488 01:09:08,770 --> 01:09:10,810 یا در واقع، آن را به شما قرار داده در لیست پیوندی. 1489 01:09:10,810 --> 01:09:13,550 >> JASON HIRSCHHORN: چگونه ما انجام می دهیم آن را در لیست پیوندی؟ 1490 01:09:13,550 --> 01:09:15,479 >> یک مدعو: اوه، نحو واقعی؟ 1491 01:09:15,479 --> 01:09:16,240 >> JASON HIRSCHHORN: کافی است به پیاده - 1492 01:09:16,240 --> 01:09:16,740 می گویند بیشتر. 1493 01:09:16,740 --> 01:09:19,310 چه کنیم؟ 1494 01:09:19,310 --> 01:09:22,100 >> یک مدعو: شما فقط قرار دادن آن را به عنوان گره اول. 1495 01:09:22,100 --> 01:09:22,675 >> JASON HIRSCHHORN: OK. 1496 01:09:22,675 --> 01:09:29,069 بنابراین ما باید گره ما، کدو تنبل. 1497 01:09:29,069 --> 01:09:31,560 و در حال حاضر چگونه می توانم آن را درج کنم؟ 1498 01:09:31,560 --> 01:09:34,590 1499 01:09:34,590 --> 01:09:37,090 >> یک مدعو: شما اختصاص دهید آن را به اشاره گر. 1500 01:09:37,090 --> 01:09:37,970 >> JASON HIRSCHHORN: کدام اشاره گر؟ 1501 01:09:37,970 --> 01:09:39,620 >> یک مدعو: اشاره گر در صفر. 1502 01:09:39,620 --> 01:09:41,420 >> JASON HIRSCHHORN: پس از کجا به این نقطه؟ 1503 01:09:41,420 --> 01:09:42,810 >> رسید به NULL در حال حاضر. 1504 01:09:42,810 --> 01:09:43,529 >> JASON HIRSCHHORN: خوب، آن را اشاره به تهی. 1505 01:09:43,529 --> 01:09:44,499 اما من قرار دادن در کدو تنبل. 1506 01:09:44,499 --> 01:09:46,053 پس از کجا باید آن را به نقطه؟ 1507 01:09:46,053 --> 01:09:46,880 >> رسید به کدو. 1508 01:09:46,880 --> 01:09:47,399 >> JASON HIRSCHHORN: به کدو تنبل. 1509 01:09:47,399 --> 01:09:48,760 دقیقا. 1510 01:09:48,760 --> 01:09:50,010 پس این اشاره به کدو تنبل. 1511 01:09:50,010 --> 01:09:52,500 1512 01:09:52,500 --> 01:09:54,250 و آیا این اشاره گر در نقطه کدو تنبل؟ 1513 01:09:54,250 --> 01:09:57,986 1514 01:09:57,986 --> 01:09:58,340 به 1515 01:09:58,340 --> 01:09:58,590 >> رسید نول. 1516 01:09:58,590 --> 01:09:59,210 >> JASON HIRSCHHORN: تهی. 1517 01:09:59,210 --> 01:10:00,460 دقیقا. 1518 01:10:00,460 --> 01:10:03,570 1519 01:10:03,570 --> 01:10:05,140 بنابراین ما فقط چیزی قرار داده به لیست پیوندی. 1520 01:10:05,140 --> 01:10:07,210 ما فقط نوشت: این کد برای انجام این کار. 1521 01:10:07,210 --> 01:10:09,520 تقریبا ما تقریبا آن را کردم به طور کامل ترک خورده. 1522 01:10:09,520 --> 01:10:10,790 در حال حاضر ما وارد آب نبات. 1523 01:10:10,790 --> 01:10:13,480 آب نبات ما نیز به صفر می رود. 1524 01:10:13,480 --> 01:10:16,100 بنابراین چه چیزی ما را با آب نبات انجام دهید؟ 1525 01:10:16,100 --> 01:10:18,790 >> رسید این در مورد اینکه آیا یا وابسته نیست که ما در تلاش هستیم تا آن را مرتب. 1526 01:10:18,790 --> 01:10:19,640 >> JASON HIRSCHHORN: که دقیقا درست است. 1527 01:10:19,640 --> 01:10:21,070 این بستگی دارد که آیا یا نه ما در حال تلاش برای آن را مرتب. 1528 01:10:21,070 --> 01:10:22,660 اجازه دهید فرض کنیم نیست رفتن به آن را مرتب. 1529 01:10:22,660 --> 01:10:24,880 >> یک مدعو: خب پس، همانطور که ما مورد بحث قبل، آن را ساده فقط به آن قرار داده 1530 01:10:24,880 --> 01:10:28,590 درست در آغاز به طوری که اشاره گر از صفر امتیاز به آب نبات. 1531 01:10:28,590 --> 01:10:29,020 >> JASON HIRSCHHORN: OK. 1532 01:10:29,020 --> 01:10:29,380 در نگه دارید. 1533 01:10:29,380 --> 01:10:30,630 اجازه دهید به من آب نبات ایجاد حق در اینجا. 1534 01:10:30,630 --> 01:10:34,030 1535 01:10:34,030 --> 01:10:35,150 پس این اشاره گر - 1536 01:10:35,150 --> 01:10:37,590 >> یک مدعو: آره، باید در حال حاضر شود با اشاره به آب نبات. 1537 01:10:37,590 --> 01:10:40,580 سپس اشاره گر از دارند نقطه آب نبات به کدو تنبل. 1538 01:10:40,580 --> 01:10:43,140 1539 01:10:43,140 --> 01:10:44,560 >> JASON HIRSCHHORN: که می خواهم؟ 1540 01:10:44,560 --> 01:10:47,380 و می گویند که ما دیگر وقت چیزی که به نقشه را به صفر؟ 1541 01:10:47,380 --> 01:10:48,660 >> یک مدعو: خوب، شما فقط همین کار را؟ 1542 01:10:48,660 --> 01:10:50,290 >> JASON HIRSCHHORN: آیا همین. 1543 01:10:50,290 --> 01:10:53,700 بنابراین در این حالت، اگر ما نمی کنند می خواهم به نگه داشتن آن را طبقه بندی شده اند 1544 01:10:53,700 --> 01:10:55,270 برای تلفن های موبایل و نه ساده است. 1545 01:10:55,270 --> 01:10:59,920 ما را به اشاره گر در شاخص داده شده توسط تابع هش ما. 1546 01:10:59,920 --> 01:11:03,830 ما آن نقطه به گره جدید است. 1547 01:11:03,830 --> 01:11:07,830 و پس از آن هر چه که اشاره شد به قبلا - 1548 01:11:07,830 --> 01:11:10,620 در این مورد تهی، در مورد دوم کدو تنبل - 1549 01:11:10,620 --> 01:11:15,310 که، هر آنچه که آن را اشاره به پیش از این، ما را به آینده اضافه کنید 1550 01:11:15,310 --> 01:11:17,810 گره جدید است. 1551 01:11:17,810 --> 01:11:19,650 ما در حال قرار دادن چیزی در آغاز راه است. 1552 01:11:19,650 --> 01:11:22,900 در واقع این است که بسیار ساده تر از تلاش برای نگه داشتن لیست طبقه بندی شده اند. 1553 01:11:22,900 --> 01:11:25,340 اما باز هم، جستجو خواهد بود پیچیده تر در اینجا. 1554 01:11:25,340 --> 01:11:28,300 ما همیشه باید به پایان. 1555 01:11:28,300 --> 01:11:29,650 >> OK. 1556 01:11:29,650 --> 01:11:32,750 هر گونه سؤال در مورد زنجیره جداگانه؟ 1557 01:11:32,750 --> 01:11:34,690 چگونه است که کار می کند؟ 1558 01:11:34,690 --> 01:11:35,820 لطفا تماس آنها را بپرسید. 1559 01:11:35,820 --> 01:11:39,260 من واقعا می خواهید مطمئن شوید که شما تمام درک این قبل از ما سر. 1560 01:11:39,260 --> 01:11:48,410 1561 01:11:48,410 --> 01:11:52,060 >> یک مدعو: چرا شما قرار داده کدو تنبل و آب نبات را به همان 1562 01:11:52,060 --> 01:11:54,108 بخشی از جدول هش؟ 1563 01:11:54,108 --> 01:11:55,860 >> JASON HIRSCHHORN: سوال خوب. 1564 01:11:55,860 --> 01:11:59,140 چرا ما آنها را در همان قرار داده است بخشی از جدول هش؟ 1565 01:11:59,140 --> 01:12:03,200 خوب، در این مورد تابع هش ما بازده برای هر دو آنها صفر است. 1566 01:12:03,200 --> 01:12:05,310 به طوری که آنها نیاز به رفتن در صفر شاخص به دلیل این که در آن ما قصد داریم به 1567 01:12:05,310 --> 01:12:07,420 برای آنها نگاه کنید اگر ما همیشه می خواهید آنها را نگاه کردن. 1568 01:12:07,420 --> 01:12:11,750 باز هم، با یک رویکرد کاوش خطی ما آنها را قرار داده است هر دو در صفر است. 1569 01:12:11,750 --> 01:12:13,900 اما در رویکرد زنجیره ای جداگانه، ما قصد داریم تا آنها را هر دو در صفر 1570 01:12:13,900 --> 01:12:16,620 و سپس یک لیست ایجاد کردن از صفر است. 1571 01:12:16,620 --> 01:12:20,140 >> و ما نمی خواهیم به بازنویسی کدو تنبل به سادگی برای که چون پس از آن خواهیم 1572 01:12:20,140 --> 01:12:21,860 فرض کنیم که کدو تنبل بود هرگز وارد می شود. 1573 01:12:21,860 --> 01:12:25,230 اگر ما فقط نگه داشتن یک چیز در محل خواهد بود که بد است. 1574 01:12:25,230 --> 01:12:28,590 پس از آن می شود وجود ندارد شانس ما تا کنون - 1575 01:12:28,590 --> 01:12:31,660 اگر ما همیشه تکراری بود، پس از آن ما فقط پاک کردن ارزش اولیه ما است. 1576 01:12:31,660 --> 01:12:34,090 بنابراین به همین دلیل است که ما انجام این روش است. 1577 01:12:34,090 --> 01:12:36,580 یا همین دلیل است که ما تصمیم - اما باز هم، ما انتخاب رویکرد زنجیره ای جداگانه، 1578 01:12:36,580 --> 01:12:39,670 که بسیاری از روش های دیگر وجود دارد یک نفر می تواند انتخاب کنید. 1579 01:12:39,670 --> 01:12:41,185 آیا این پاسخ به سوال شما؟ 1580 01:12:41,185 --> 01:12:41,660 >> OK. 1581 01:12:41,660 --> 01:12:42,910 کارلوس. 1582 01:12:42,910 --> 01:12:46,130 1583 01:12:46,130 --> 01:12:47,720 پروب خطی شامل - 1584 01:12:47,720 --> 01:12:51,913 اگر ما برخورد صفر در بر داشت، ما را در نقطه بعدی توجه کنیم که اگر 1585 01:12:51,913 --> 01:12:54,310 آن باز بود و آن را وجود دارد. 1586 01:12:54,310 --> 01:12:57,320 و پس از آن ما در این ورزش بعدی و ببینید در صورتی که باز بود و قرار دادن آن وجود دارد. 1587 01:12:57,320 --> 01:12:59,780 بنابراین پیدا کنیم و بعد در دسترس نقطه باز و قرار دادن آن وجود دارد. 1588 01:12:59,780 --> 01:13:02,580 1589 01:13:02,580 --> 01:13:03,890 هر گونه سؤال دیگر؟ 1590 01:13:03,890 --> 01:13:05,370 آره، AVI. 1591 01:13:05,370 --> 01:13:07,490 >> رسید به عنوان یک پیگیری آن، چه چیزی شما را توسط نقطه بعدی چیست؟ 1592 01:13:07,490 --> 01:13:10,250 در جدول هش و یا در یک لیست پیوندی. 1593 01:13:10,250 --> 01:13:12,100 >> JASON HIRSCHHORN: برای خطی برنامه نویسی، هیچ لیست مرتبط است. 1594 01:13:12,100 --> 01:13:13,400 نقطه بعدی در جدول هش. 1595 01:13:13,400 --> 01:13:13,820 >> تماشاچیان: OK. 1596 01:13:13,820 --> 01:13:17,570 بنابراین جدول هش خواهد بود مقدار دهی اولیه به اندازه - 1597 01:13:17,570 --> 01:13:19,560 مانند تعداد رشته ها که شما با قرار دادن بودند؟ 1598 01:13:19,560 --> 01:13:22,170 >> JASON HIRSCHHORN: شما می خواهید آن را به واقعا بزرگ است. 1599 01:13:22,170 --> 01:13:23,910 بله. 1600 01:13:23,910 --> 01:13:27,900 در اینجا تصویری از آنچه ما است فقط در هیئت مدیره به خود جلب کرد. 1601 01:13:27,900 --> 01:13:29,470 باز هم، ما باید یک برخورد حق در اینجا. 1602 01:13:29,470 --> 01:13:30,710 در 152. 1603 01:13:30,710 --> 01:13:33,570 و شما خواهید دید که ما ایجاد یک لیست پیوندی خارج از آن. 1604 01:13:33,570 --> 01:13:38,200 1605 01:13:38,200 --> 01:13:41,850 باز هم، جدول هش زنجیری جداگانه رویکرد است که یکی از شما می 1606 01:13:41,850 --> 01:13:45,590 باید برای مشکلات تنظیم شش اما یکی این است که بسیاری از 1607 01:13:45,590 --> 01:13:47,100 دانش آموزان به خود می گیرند. 1608 01:13:47,100 --> 01:13:51,140 پس در آن توجه داشته باشید، اجازه دهید ما به طور خلاصه صحبت قبل از ما سر کردن در مورد مشکل شش، 1609 01:13:51,140 --> 01:13:52,160 و پس از آن من یک داستان را با شما به اشتراک بگذارید. 1610 01:13:52,160 --> 01:13:55,120 ما سه دقیقه. 1611 01:13:55,120 --> 01:13:55,750 >> مجموعه مسائل شش. 1612 01:13:55,750 --> 01:13:57,790 شما باید چهار توابع - 1613 01:13:57,790 --> 01:14:02,430 بار، بررسی، اندازه، و خالی کردن. 1614 01:14:02,430 --> 01:14:03,380 بار - 1615 01:14:03,380 --> 01:14:07,120 خوب، ما قصد شده است بیش از بار فقط در حال حاضر. 1616 01:14:07,120 --> 01:14:09,330 ما بار در هیئت مدیره به خود جلب کرد. 1617 01:14:09,330 --> 01:14:13,230 و ما حتی شروع برنامه نویسی بسیاری از قرار دادن به یک لیست پیوندی. 1618 01:14:13,230 --> 01:14:18,020 بنابراین بار خیلی بیشتر از نه آنچه که ما فقط انجام شده است. 1619 01:14:18,020 --> 01:14:21,070 >> ورود به است هنگامی که شما چیزی لود می شود. 1620 01:14:21,070 --> 01:14:22,580 این روند همین است. 1621 01:14:22,580 --> 01:14:26,845 همان دو قسمت اول که در آن شما پرتاب چیزی را به تابع هش 1622 01:14:26,845 --> 01:14:29,190 و گرفتن ارزش خود را. 1623 01:14:29,190 --> 01:14:30,700 اما در حال حاضر ما در حال قرار دادن نیست. 1624 01:14:30,700 --> 01:14:33,350 در حال حاضر ما به دنبال آن است. 1625 01:14:33,350 --> 01:14:37,130 من نمونه کد نوشته شده برای پیدا کردن چیزی در یک لیست پیوندی. 1626 01:14:37,130 --> 01:14:38,250 من شما را تشویق به عمل است. 1627 01:14:38,250 --> 01:14:43,000 اما به طور مستقیم پیدا کردن چیزی است بسیار شبیه به قرار دادن چیزی. 1628 01:14:43,000 --> 01:14:46,540 در واقع، ما یک عکس پیدا کشید چیزی در یک لیست پیوندی، در حال حرکت 1629 01:14:46,540 --> 01:14:48,910 از تا زمانی که شما به پایان است. 1630 01:14:48,910 --> 01:14:52,430 و اگر شما به پایان کردم و نمی توانست پیدا کردن آن، پس از آن وجود ندارد. 1631 01:14:52,430 --> 01:14:55,400 به طوری که چک است، در اصل. 1632 01:14:55,400 --> 01:14:57,030 >> بعدی اندازه است. 1633 01:14:57,030 --> 01:14:57,910 اجازه دهید به اندازه صفحه. 1634 01:14:57,910 --> 01:15:00,040 در نهایت شما خالی است. 1635 01:15:00,040 --> 01:15:02,890 خالی کردن یکی از ما کشیده نمی باشد. در هیئت مدیره و یا کد شده است. 1636 01:15:02,890 --> 01:15:05,990 اما من شما را تشویق به تلاش برنامه نویسی آن در نمونه ما در ارتباط است مثال. 1637 01:15:05,990 --> 01:15:11,440 اما خالی کردن به طور مستقیم مشابه رایگان - 1638 01:15:11,440 --> 01:15:14,010 و یا منظور من مشابه برای بررسی است. 1639 01:15:14,010 --> 01:15:17,350 به جز در حال حاضر هر زمانی که شما در حال رفتن از طریق، شما به سادگی چک کردن نه 1640 01:15:17,350 --> 01:15:19,090 اگر شما از ارزش شما وجود دارد. 1641 01:15:19,090 --> 01:15:22,490 اما شما در حال گرفتن آن گره و آزاد کردن آن، در اصل. 1642 01:15:22,490 --> 01:15:23,610 این چیزی است که خالی کردن از شما می خواهد انجام دهد. 1643 01:15:23,610 --> 01:15:24,670 همه چیز رایگان شما malloced ام. 1644 01:15:24,670 --> 01:15:27,480 بنابراین شما رفتن را از طریق تمام فهرست دوباره، رفتن را از طریق تمام مخلوط 1645 01:15:27,480 --> 01:15:27,760 جدول دوباره. 1646 01:15:27,760 --> 01:15:29,240 این بار بررسی نمی برای دیدن آنچه که وجود دارد. 1647 01:15:29,240 --> 01:15:31,080 فقط آزاد چه چیزی وجود دارد. 1648 01:15:31,080 --> 01:15:33,260 >> و در نهایت اندازه. 1649 01:15:33,260 --> 01:15:34,350 حجم باید اجرا شود. 1650 01:15:34,350 --> 01:15:35,590 اگر شما به اندازه پیاده سازی نیست - 1651 01:15:35,590 --> 01:15:36,250 من آن را شبیه به این می گویند. 1652 01:15:36,250 --> 01:15:39,740 اگر شما به اندازه دقیقا پیاده سازی نیست یک خط از کد، از جمله 1653 01:15:39,740 --> 01:15:43,760 دستور return، شما انجام اندازه اشتباه است. 1654 01:15:43,760 --> 01:15:47,170 بنابراین اندازه مطمئن شوید، برای طراحی کامل نقطه، شما در حال انجام آن را در دقیقا یک 1655 01:15:47,170 --> 01:15:49,970 خط از کد، از جمله بیانیه بازگشت. 1656 01:15:49,970 --> 01:15:52,450 >> و آیا بسته نیست تا هنوز، Akchar. 1657 01:15:52,450 --> 01:15:53,700 بیش از حد مشتاق. 1658 01:15:53,700 --> 01:15:55,820 1659 01:15:55,820 --> 01:16:01,300 من می خواستم از شما تشکر کنم بچه ها برای آمدن به بخش. 1660 01:16:01,300 --> 01:16:02,550 یک هالووین مبارک. 1661 01:16:02,550 --> 01:16:05,300 1662 01:16:05,300 --> 01:16:05,960 این صحنه و لباس من است. 1663 01:16:05,960 --> 01:16:08,850 من این پوشیدن در روز پنج شنبه اگر من شما را در ساعات اداری مراجعه کنید. 1664 01:16:08,850 --> 01:16:14,640 و اگر شما کنجکاو در مورد برخی بیشتر است پس زمینه برای این صحنه و لباس، احساس 1665 01:16:14,640 --> 01:16:19,135 آزاد برای بررسی از 2011 بخش برای یک داستان در چرا من هستم 1666 01:16:19,135 --> 01:16:20,900 پوشیدن لباس کدو تنبل. 1667 01:16:20,900 --> 01:16:23,680 و این داستان غم انگیز است. 1668 01:16:23,680 --> 01:16:27,050 بنابراین مطمئن شوید که شما را برخی از بافت ها در این نزدیکی هست. 1669 01:16:27,050 --> 01:16:28,680 اما در آن، اگر شما هر گونه سوالات من در اطراف شما می چسبد 1670 01:16:28,680 --> 01:16:29,960 خارج بعد از. 1671 01:16:29,960 --> 01:16:31,510 موفق باشید در مشکل مجموعه شش. 1672 01:16:31,510 --> 01:16:33,540 و مثل همیشه، اگر شما هر گونه سوالات، اجازه دهید من می دانم. 1673 01:16:33,540 --> 01:16:35,584