1 00:00:00,000 --> 00:00:02,730 [Powered by Google Translate] [பகுதி 6: குறைந்த வசதியான] 2 00:00:02,730 --> 00:00:05,040 [நேட் Hardison] [ஹார்வர்ட் பல்கலைக்கழகம்] 3 00:00:05,040 --> 00:00:07,320 [இந்த CS50 உள்ளது.] [CS50.TV] 4 00:00:07,320 --> 00:00:11,840 எல்லாம் சரி. பிரிவு 6 வரவேற்கிறது. 5 00:00:11,840 --> 00:00:14,690 இந்த வாரம், நாம், பிரிவில் தரவு கட்டமைப்புகள் பற்றி போகிறாய் 6 00:00:14,690 --> 00:00:19,780 இந்த வாரம் சிக்கல் spellr அமைத்து முக்கியமாக, ஏனெனில் 7 00:00:19,780 --> 00:00:24,410 வெவ்வேறு தரவு கட்டமைப்பை ஆய்வு ஒரு மொத்தமாக இல்லை. 8 00:00:24,410 --> 00:00:26,520 நீங்கள் பிரச்சனை தொகுப்பு போகலாம் வெவ்வேறு வழிகளில் ஒரு கொத்து உள்ளன 9 00:00:26,520 --> 00:00:31,570 நீங்கள் பற்றி மேலும் தரவு கட்டமைப்புகள், நீங்கள் என்ன செய்ய முடியும் மேலும் கூலான விஷயங்களை. 10 00:00:31,570 --> 00:00:34,990 >> எனவே துவங்கட்டும். முதலில் நாம், ஸ்டாக்குகள் பற்றி பேச போகிறோம் 11 00:00:34,990 --> 00:00:37,530 நாம் பற்றி பேச போகிறோம் என்று ஸ்டேக் மற்றும் வரிசை தரவு கட்டமைப்புகள். 12 00:00:37,530 --> 00:00:40,560 நாம் வரைபடங்கள் பற்றி பேசுவதற்கு போது அடுக்குகள் மற்றும் வரிசைகளை, உண்மையிலேயே உங்களுக்கு பயனுள்ளதாக இருக்கும் 13 00:00:40,560 --> 00:00:44,390 நாம் இப்போது இவ்வளவு செய்ய போவதில்லை இது. 14 00:00:44,390 --> 00:00:52,820 ஆனால் அவர்கள் சிஎஸ் பெரிய அடிப்படை தரவு கட்டமைப்புகள் ஒன்று புரிந்து கொள்ள நல்ல இருக்கும். 15 00:00:52,820 --> 00:00:54,880 பிரச்சனை தொகுப்பு குறிப்பீட்டில் விளக்கம், 16 00:00:54,880 --> 00:00:59,260 ஒத்த போன்ற அடுக்குகள் பற்றி நீங்கள் மேலே என்றால், பேச்சுவார்த்தை 17 00:00:59,260 --> 00:01:05,239 நீங்கள் உணவு கூடங்களில் உள்ள உணவு விடுதியில் என்று சாப்பாட்டு தட்டுக்களும் குவியலில் 18 00:01:05,239 --> 00:01:09,680 சாப்பாட்டு ஊழியர்கள் வந்து அவர்கள் சுத்தம் செய்த பிறகு, டைனிங் தட்டுக்களும் அவுட் வைக்கும் அங்கு போது 19 00:01:09,680 --> 00:01:12,000 அவர்கள் மற்ற மேல் ஒரு குவியலாக. 20 00:01:12,000 --> 00:01:15,050 பின்னர் குழந்தைகள், உணவு பெற வரும் போது 21 00:01:15,050 --> 00:01:19,490 அவர்கள் முதல் மேல் ஒரு, தட்டுக்களும் இழுக்கவும், அது கீழே ஒரு, பின்னர் அந்த கீழே ஒரு. 22 00:01:19,490 --> 00:01:25,190 எனவே, நடைமுறையில், சாப்பாட்டு ஊழியர்கள் கீழ்த்தரமாக்கும் முதல் தட்டில் எடுத்து விடும் என்று கடந்த ஒன்றாகும். 23 00:01:25,190 --> 00:01:32,330 சாப்பாட்டு ஊழியர்கள் மீது கடந்த ஒரு இரவு உணவிற்கு எடுத்து விடும் என்று முதல் ஒன்றாகும். 24 00:01:32,330 --> 00:01:38,100 நீங்கள் ஏற்கனவே இல்லை இருந்தால் பிரச்சனை தொகுப்பின் ஸ்பெக், நீ, இது பதிவிறக்க முடியும் 25 00:01:38,100 --> 00:01:46,730 இந்த வகையான struct பயன்படுத்தி ஒரு அடுக்கு தரவு stucture மாடலிங் பற்றி பேச. 26 00:01:46,730 --> 00:01:51,070 >> நாம் இங்கே கிடைத்தது என்ன, இந்த, விரிவுரையில் வழங்கப்பட்டது என்ன ஒத்த 27 00:01:51,070 --> 00:01:58,120 விரிவுரை தவிர நாம் எரிப்பதை * கள் பதிலாக ints இந்த வழங்கினார். 28 00:01:58,120 --> 00:02:06,250 இது கடைகளில் என்ன ஒரு அடுக்கு இருக்க போகிறது? 29 00:02:06,250 --> 00:02:09,009 டேனியல்? இந்த ஸ்டேக் என்ன சேமித்து? 30 00:02:09,009 --> 00:02:15,260 [டேனியல்] சரங்கள்? >> நாம் சரியாக, இந்த அடுக்கில் சரங்களை சேமிக்கும். 31 00:02:15,260 --> 00:02:20,950 நீங்கள் ஒரு அடுக்கு உருவாக்க வேண்டும் அனைத்து வரிசை உள்ளது 32 00:02:20,950 --> 00:02:23,920 ஒரு குறிப்பிட்ட அளவு, இந்த வழக்கில் எந்த, 33 00:02:23,920 --> 00:02:28,020 கொள்ளளவு அதை தொடர்ந்து தான் அனைத்து தொப்பிகள் இருக்க போகிறது. 34 00:02:28,020 --> 00:02:36,340 பின்னர் அணி கூடுதலாக, நாம் கண்காணிக்க வேண்டும் அனைத்து அணியின் தற்போதைய அளவு. 35 00:02:36,340 --> 00:02:38,980 அந்த குளிர் என்ன தான் இங்கே கவனிக்க ஒன்று 36 00:02:38,980 --> 00:02:47,060 நாம் மற்றொரு தரவு கட்டமைப்பு, வரிசைக்கு மேல் அடுக்கு தரவு கட்டமைப்பை உருவாக்கும் என்று தான். 37 00:02:47,060 --> 00:02:50,110 ஸ்டாக்குகள் செயல்படுத்த பல்வேறு வழிகள் உள்ளன. 38 00:02:50,110 --> 00:02:54,250 நாம், ஆனால் வட்டம் இணைக்கப்பட்ட பட்டியலில் பிரச்சினைகள் செய்து பின்னர், மிக இன்னும் அதை செய்ய மாட்டேன் 39 00:02:54,250 --> 00:03:00,520 நீங்கள் எளிதாக அத்துடன் இணைக்கப்பட்ட பட்டியலில் ஒரு அடுக்கு செயல்படுத்த முடியும் என்பதை பார்க்கலாம். 40 00:03:00,520 --> 00:03:02,640 ஆனால் இப்போது, நாம் வரிசைகள் ஒட்டிக்கொள்கின்றன வேண்டும். 41 00:03:02,640 --> 00:03:06,350 எனவே மீண்டும், நாம் வேண்டிய ஒரு வரிசை மற்றும் நாம் இப்போது வரிசை அளவு கண்காணிக்க வேண்டும். 42 00:03:06,350 --> 00:03:09,850 [சாம்] மன்னிக்கவும், ஏன் நீங்கள் ஸ்டேக் சரங்களை மேல் தான் என்று? 43 00:03:09,850 --> 00:03:13,440 சரங்களை ஸ்டாக் இருக்கும் போல எனக்கு தோன்றுகிறது. 44 00:03:13,440 --> 00:03:16,790 [Hardison] சரி. நாங்கள் எங்கள் அணி தரவு கட்டமைப்பு பேசிக்கொண்டு, உருவாக்கி - 45 00:03:16,790 --> 00:03:22,130 என்று ஒரு பெரிய கேள்வி. எனவே கேள்வி, இந்த ஆன்லைன் பார்த்து வந்த மக்கள், ஏன் 46 00:03:22,130 --> 00:03:24,140 நாம் ஏன், ஸ்டாக் சரங்களை மேல் இருப்பதாக சொல்கிறார்கள் 47 00:03:24,140 --> 00:03:27,990 இங்கே அது சரங்களை ஸ்டேக் உள்ளே இருக்கும் போல? ஏனெனில் 48 00:03:27,990 --> 00:03:31,050 இது முற்றிலும் வழக்கு. 49 00:03:31,050 --> 00:03:34,660 என்ன நான் குறிப்பிட்டு இருந்தேன் நாம் ஒரு வரிசை தரவு கட்டமைப்பு பெற்றுவிட்டோம் என்று இருந்தது. 50 00:03:34,660 --> 00:03:39,290 நாம் எரிப்பதை * கள் ஒரு வரிசை, சரங்களின் இந்த வரிசை, கிடைத்துவிட்டது 51 00:03:39,290 --> 00:03:45,300 நாம் அடுக்கப்பட்ட தரவு கட்டமைப்பை உருவாக்க வேண்டும் என்று சேர்க்க போகிறோம். 52 00:03:45,300 --> 00:03:48,620 >> எனவே ஒரு அடுக்கு வரிசை விட சற்று சிக்கலானது. 53 00:03:48,620 --> 00:03:51,890 நாம் ஒரு அடுக்கு உருவாக்க வரிசையை பயன்படுத்த முடியும். 54 00:03:51,890 --> 00:03:55,810 நாம் ஸ்டேக் ஒரு வரிசைக்கு மேல் கட்டப்பட்டுள்ளது என்று எங்கே என்று தான். 55 00:03:55,810 --> 00:04:02,510 அதேபோல், நான் முன்பே சொன்னது போல், நாம் ஒரு இணைக்கப்பட்ட பட்டியலில் ஒரு அடுக்கு உருவாக்க முடியும். 56 00:04:02,510 --> 00:04:04,960 அதற்கு பதிலாக, எங்கள் உறுப்புகளை நடத்த ஒரு வரிசை பயன்படுத்தி, 57 00:04:04,960 --> 00:04:10,070 நாம் கூறுகளை வைத்து அந்த சுற்றி ஸ்டேக் உருவாக்க ஒரு இணைக்கப்பட்ட பட்டியலில் பயன்படுத்த முடியும். 58 00:04:10,070 --> 00:04:12,420 சில குறியீடு பார்த்து, அது உதாரணங்கள் ஒரு ஜோடி மூலம் நடக்க விட, 59 00:04:12,420 --> 00:04:14,960 உண்மையில் என்ன நடக்கிறது இங்கே பார்க்க. 60 00:04:14,960 --> 00:04:23,400 இடது, நான் அந்த ஸ்டேக் struct நினைவாக இருக்க என்ன கீழே தூக்கி எறிந்துவிட்டேன் 61 00:04:23,400 --> 00:04:28,330 கொள்ளளவு # நான்கு வரையறுக்கப்படுகிறது என்றால். 62 00:04:28,330 --> 00:04:33,490 நாங்கள் நான்கு உறுப்பு எரிப்பதை * வரிசை கிடைத்துவிட்டது. 63 00:04:33,490 --> 00:04:38,110 நாம் சரங்களை [0], சரங்களை [1], சரங்களை [2], சரங்களை [3], கிடைத்துவிட்டது 64 00:04:38,110 --> 00:04:43,800 பின்னர் நம் அளவு முழு அந்த கடைசி இடத்தில். 65 00:04:43,800 --> 00:04:46,270 இந்த உணர்வு ஏற்படுத்தும்? சரி. 66 00:04:46,270 --> 00:04:48,790 இந்த நான் வலது என்ன என்ன நடக்கும் என்று 67 00:04:48,790 --> 00:04:55,790 என் குறியீடு இருக்கும், ஒரு struct, கள் என்று ஒரு அடுக்கப்பட்ட struct அறிவிக்க உள்ளது. 68 00:04:55,790 --> 00:05:01,270 இந்த நாம் என்ன இருக்கிறது. இது நினைவக இந்த தடம் வகுக்கிறது. 69 00:05:01,270 --> 00:05:05,590 இங்கே முதல் கேள்வி இந்த ஸ்டேக் struct உள்ளடக்கங்களை என்ன ஆகும்? 70 00:05:05,590 --> 00:05:09,250 இப்போது அவர்கள் இல்லை என்றால், ஆனால் அவர்கள் முற்றிலும் எதுவும் இல்லை. 71 00:05:09,250 --> 00:05:13,300 அவர்கள் குப்பை இது தான். நாங்கள் யோசனை அவர்களுக்கு என்ன வேண்டும். 72 00:05:13,300 --> 00:05:17,000 நாம் ஸ்டேக் கள் அறிவிக்கும் போது, நாங்கள் மட்டும் நினைவக மேல் என்று கீழே எறியும். 73 00:05:17,000 --> 00:05:19,840 இது int நான் பிரகடனம் மற்றும் அது ஆரம்பிக்கும் இல்லை போன்ற வகையான தான். 74 00:05:19,840 --> 00:05:21,730 நீங்கள் அங்கு என்ன என்று எனக்கு தெரியாது. நீங்கள், அங்கு என்ன படிக்கலாம் 75 00:05:21,730 --> 00:05:27,690 ஆனால் அது உங்களுக்கு பயனுள்ளதாக சூப்பர் இருக்கலாம். 76 00:05:27,690 --> 00:05:32,680 நீங்கள் எப்போதும் செய்ய நினைவில் வேண்டும் ஒன்றை துவக்க வேண்டும் என்ன துவக்க உள்ளது. 77 00:05:32,680 --> 00:05:35,820 இந்த வழக்கில், நாம், பூஜ்ஜியம் அளவு துவக்க போகிறோம் 78 00:05:35,820 --> 00:05:39,960 அது எங்களுக்கு மிக முக்கியமான இருக்கும் திரும்ப நடக்கிறது என்பதால். 79 00:05:39,960 --> 00:05:43,450 நாம் போய் சுட்டிகள் அனைத்து, அனைத்து எரிப்பதை * கள், துவக்க முடியும் 80 00:05:43,450 --> 00:05:49,670 ஒருவேளை பூஜ்ய சில புரிந்துகொள்ளக்கூடிய மதிப்பு, இருக்கும். 81 00:05:49,670 --> 00:05:58,270 ஆனால் அதை நாம் செய்ய வேண்டும் என்று முற்றிலும் அவசியம் இல்லை. 82 00:05:58,270 --> 00:06:04,200 >> இப்போது, ஸ்டாக்குகள் இரண்டு முக்கிய செயல்பாடுகளை இருக்கும்? 83 00:06:04,200 --> 00:06:07,610 யாரையும் நீங்கள் அடுக்குகள் என்ன செய்ய விரிவுரை இருந்து நினைவிருக்கிறதா? ஆமாம்? 84 00:06:07,610 --> 00:06:09,700 [ஸ்டெல்லா] புஷிங் மற்றும் உறுத்தும்? சரியாக >>. 85 00:06:09,700 --> 00:06:13,810 அழுத்தம் மற்றும் உறுத்தும் அடுக்குகள் இரண்டு முக்கிய செயல்பாடுகளை இருக்கும். 86 00:06:13,810 --> 00:06:17,060 மற்றும் உந்துதல் என்ன செய்ய? >> அது மேலே மீது ஒன்று சேர்கின்றன 87 00:06:17,060 --> 00:06:19,300 ஸ்டேக்கின், பின்னர் உறுத்தும் அதை எடுக்கும். 88 00:06:19,300 --> 00:06:23,150 [Hardison] சரியாக. எனவே தள்ளும் ஸ்டேக் மேல் ஏதாவது தள்ளுகிறது. 89 00:06:23,150 --> 00:06:27,700 அதை எண்ணி ஒரு சாப்பாட்டு தட்டு கீழே வைத்து உணவு உண்ணும் ஊழியர்கள் போல். 90 00:06:27,700 --> 00:06:33,630 மற்றும் உறுத்தும் ஸ்டேக் ஒரு சாப்பாட்டு தட்டில் இருந்து வருகிறது. 91 00:06:33,630 --> 00:06:36,460 நாம் என்ன நடக்கும் உதாரணங்கள் ஒரு ஜோடி மூலம் நடக்க 92 00:06:36,460 --> 00:06:39,720 நாம் ஸ்டேக் என்ற விஷயங்களை அழுத்தம் போது. 93 00:06:39,720 --> 00:06:45,110 நாம் ஸ்டேக் மீது சரம் 'ஹலோ' தள்ளும் இருந்தால், 94 00:06:45,110 --> 00:06:49,760 இந்த எங்கள் வரைபடம் இப்போது எப்படி இருக்க வேண்டும் என்பது தான். 95 00:06:49,760 --> 00:06:53,410 என்ன நடக்கிறது என்று பார்க்கலாம்? 96 00:06:53,410 --> 00:06:56,530 நாம் சரங்களை அணி முதல் உறுப்பு தள்ளப்பட்டால் 97 00:06:56,530 --> 00:07:01,420 நாம் 1 நமது அளவு எண்ணிக்கை பிரச்சனையை பெரிதாக்கினார். 98 00:07:01,420 --> 00:07:05,340 நாம் இரண்டு ஸ்லைடுகள் வித்தியாசம் பார்க்க நீங்கள், இங்கே 0 இருந்தது, இங்கே மிகுதி முன் தான். 99 00:07:05,340 --> 00:07:08,690 இங்கே மிகுதி பிறகு. 100 00:07:08,690 --> 00:07:13,460 மிகுதி முன், மிகுதி பின்னர். 101 00:07:13,460 --> 00:07:16,860 இப்போது நாங்கள் எங்கள் ஸ்டேக் ஒரு உறுப்பு உள்ளது. 102 00:07:16,860 --> 00:07:20,970 இது சரம் "ஹலோ" தான், அவ்வளவு தான். 103 00:07:20,970 --> 00:07:24,440 வரிசையில் எல்லாவற்றையும், நம் சரங்களை வரிசையில், இன்னும் குப்பை உள்ளது. 104 00:07:24,440 --> 00:07:27,070 நாம் அது துவக்கப்படும். 105 00:07:27,070 --> 00:07:29,410 நாம் நம் ஸ்டேக் மீது மற்றொரு சரம் தள்ளும் என்று. 106 00:07:29,410 --> 00:07:32,210 நாம் இந்த நேரத்தில் "உலக" தள்ள போகிறீர்கள். 107 00:07:32,210 --> 00:07:35,160 எனவே, "உலக" இங்கே "ஹலோ" மேல் சென்று பார்க்க முடியும் 108 00:07:35,160 --> 00:07:40,040 மற்றும் அளவு எண்ணிக்கை 2 வரை செல்கிறது. 109 00:07:40,040 --> 00:07:44,520 இப்போது நாம் "CS50", என்று மீண்டும் மேலே செல்வோம் தள்ள முடியும். 110 00:07:44,520 --> 00:07:51,110 நாம் திரும்பி செல்ல, நீங்கள் நாங்கள் ஸ்டேக் மேல் விஷயங்களை அழுத்தம் நீங்கள் எப்படி பார்க்க முடியும். 111 00:07:51,110 --> 00:07:53,320 இப்போது நாம் எடுக்க வேண்டும். 112 00:07:53,320 --> 00:07:58,910 நாம் ஸ்டேக்கின் ஏதாவது ஆஃப் தெரித்து போது, என்ன நடந்தது? 113 00:07:58,910 --> 00:08:01,540 யாராவது வேறுபாடு பார்க்க? அது மிகவும் நுட்பமான விஷயம். 114 00:08:01,540 --> 00:08:05,810 [மாணவர்] அளவு. >> சரி, அளவு மாற்றப்பட்டது. 115 00:08:05,810 --> 00:08:09,040 >> வேறு என்ன மாற்றம் என எதிர்பார்க்கப்படுகிறது? 116 00:08:09,040 --> 00:08:14,280 மிகவும் [மாணவர்] சரங்களை,. >> வலது. மிகவும் சரங்களை. 117 00:08:14,280 --> 00:08:17,110 அது மாறிவிடும் நீங்கள் இந்த வழியில் செய்கிறீர்கள் போது, 118 00:08:17,110 --> 00:08:21,960 நாம் ஸ்டேக் என்ற கூறுகளை நகல் ஏனெனில், 119 00:08:21,960 --> 00:08:24,670 நாம் உண்மையில் எதுவும் செய்ய வேண்டாம்; நாம் அளவு பயன்படுத்தலாம் 120 00:08:24,670 --> 00:08:28,630 எங்கள் அணியின் விஷயங்களை எண்ணிக்கையை கண்காணிப்பதற்கு 121 00:08:28,630 --> 00:08:33,780 அதனால் நாம் மீண்டும் பாப் போது, மீண்டும் நாம் தான் 1 நமது அளவு கீழே குறைத்தல். 122 00:08:33,780 --> 00:08:39,440 உண்மையில் போய் எதையும் மேலெழுத தேவை இல்லை. 123 00:08:39,440 --> 00:08:41,710 பங்கி வகையான. 124 00:08:41,710 --> 00:08:46,520 அதை நாம் செய்ய குறைந்த வேலை ஏனென்றால் நாம் பொதுவாக நான் மட்டும் விஷயங்களை விட்டு அந்த மாறிவிடும். 125 00:08:46,520 --> 00:08:50,060 நாம் திரும்பி சென்று ஏதாவது மேலெழுதும் வேண்டும் என்றால், பிறகு ஏன் அதை செய்ய? 126 00:08:50,060 --> 00:08:54,150 நாம் ஸ்டேக்கின் இருமுறை ஆஃப் பாப் போது, என்று எல்லா அளவு இரண்டு முறை குறைப்பு இல்லை. 127 00:08:54,150 --> 00:08:59,120 மீண்டும், இந்த நாம் ஸ்டேக் என்ற விஷயங்களை நகல் இல்லை தான் காரணம். 128 00:08:59,120 --> 00:09:01,320 ஆமாம்? போ. 129 00:09:01,320 --> 00:09:04,460 [மாணவர், புரிந்து] >> பிறகு மீண்டும் ஒன்று தள்ளும் போது என்ன நடக்கும்? 130 00:09:04,460 --> 00:09:08,570 நீங்கள் மீண்டும் ஒன்று தள்ளும் போது, அது எங்கு செல்ல வேண்டும்? 131 00:09:08,570 --> 00:09:12,390 எங்கே, பசில் போகவேண்டும்? சரங்களை [1] இண்டு >>? >> வலது. 132 00:09:12,390 --> 00:09:14,530 ஏன் அது சரங்களை [3] போக கூடாது? 133 00:09:14,530 --> 00:09:19,410 [பசில்] இது ஒன்றும் சரங்களை இருந்தது என்பதை மறந்து ஏனென்றால் [1] மற்றும் [2]? 134 00:09:19,410 --> 00:09:24,040 [Hardison] சரியாக. எங்கள் ஸ்டாக், அடிப்படையில், அது எதையும் செய்ய கொண்டிருப்பதாக "மறந்துவிட்டேன்" 135 00:09:24,040 --> 00:09:29,480 சரங்களை உள்ள [1] அல்லது சரங்களை [2], நாம் "woot" அழுத்தம் மிகவும் போது, 136 00:09:29,480 --> 00:09:36,670 அது சரங்களை [1] உள்ள உறுப்பு அந்த வைக்கிறது. 137 00:09:36,670 --> 00:09:41,590 ஒரு அடிப்படை மட்டத்தில், எப்படி இந்த பணிகளில் ஏதேனும் கேள்விகள் என்ன? 138 00:09:41,590 --> 00:09:45,160 [சாம்] எனவே இந்த தொகை அடிப்படையில், எந்த வழியில் மாறும் அல்ல 139 00:09:45,160 --> 00:09:47,620 அல்லது ஸ்டாக் அளவு அடிப்படையில்? 140 00:09:47,620 --> 00:09:56,750 [Hardison] சரியாக. இது - இந்த இடத்தில் ஒரு மாறும் growning ஸ்டாக் இல்லை என்று இருந்தது. 141 00:09:56,750 --> 00:10:02,850 இந்த மிக நான்கு விஷயங்களை நேரத்தில், மிக, நான்கு எரிப்பதை * வி, நடத்த முடியும் என்று ஒரு ஸ்டாக் இல்லை. 142 00:10:02,850 --> 00:10:07,580 நாம் ஒரு ஐந்தாவது விஷயத்தை முயற்சி மற்றும் அழுத்தம் இருந்தால், நீங்கள் என்ன நடக்க வேண்டும் என்று நினைக்கிறீர்கள்? 143 00:10:07,580 --> 00:10:11,870 [மாணவர்கள், புரிந்து] 144 00:10:11,870 --> 00:10:14,600 [Hardison] சரியாக. நடக்கலாம் என்று விஷயங்கள் பல உள்ளன. 145 00:10:14,600 --> 00:10:19,330 இது சாத்தியமான நாம் என்ன பொறுத்து, தவறு Seg - 146 00:10:19,330 --> 00:10:22,530 எப்படி சரியாக நாம் மீண்டும் இறுதி செயல்படுத்தும். 147 00:10:22,530 --> 00:10:31,740 அதை மேலெழுத முடியாது. அதை நாம் வர்க்கத்தின் பற்றி பேசினார் என்று இடையக வழிதல் முடியும். 148 00:10:31,740 --> 00:10:35,240 என்ன மறைந்து இருக்கலாம் என்று மிக தெளிவாக விஷயம் என்று 149 00:10:35,240 --> 00:10:42,370 நாம் ஸ்டேக் ஒரு கூடுதல் விஷயம் தள்ள முயற்சி என்றால்? 150 00:10:42,370 --> 00:10:44,550 எனவே நீங்கள் ஒரு இடையக வழிதல் குறிப்பிட்டுள்ளார். 151 00:10:44,550 --> 00:10:47,870 அன்று முழுவதும் எழுதப்பட்ட அல்லது stomped செய்து என்று தான் இருக்கும் என்ன 152 00:10:47,870 --> 00:10:52,320 நாம் ஒரு கூடுதல் விஷயம் தள்ள முயற்சி தற்செயலாக overflowed? என்றால் 153 00:10:52,320 --> 00:10:54,730 [டேனியல், புரிந்து] >> சாத்தியமான. 154 00:10:54,730 --> 00:10:58,440 ஆனால் ஆரம்பத்தில், என்ன நடக்கும்? நாம் ஒரு நான்காவது விஷயம் தள்ள முயற்சி என்ன? 155 00:10:58,440 --> 00:11:06,220 குறைந்தபட்சம் நாங்கள் பெற்றுவிட்டோம் என்று இந்த நினைவகம் வரைபடத்துடன், அளவு மேலெழுதும் கூடும். 156 00:11:06,220 --> 00:11:10,880 >> பிரச்சனை தொகுப்பு குறிப்பீட்டில், இது, இன்று நாம் செயல்படுத்த வேண்டும் போகிறோம் என்ன 157 00:11:10,880 --> 00:11:16,030 நாம் என்ன செய்ய வேண்டும் நான் தவறான திரும்பி வருகிறது. 158 00:11:16,030 --> 00:11:20,030 எங்கள் உந்துதல் முறை, ஒரு பூலியன் மதிப்பை திரும்ப போகிறது 159 00:11:20,030 --> 00:11:22,920 மிகுதி வெற்றியடைகிறது மற்றும் பூலியன் மதிப்பை உண்மையாக இருக்கும் 160 00:11:22,920 --> 00:11:29,730 தவறான ஸ்டேக் முழு ஏனெனில் நாம் இன்னும் எதையும் தள்ள முடியாது. 161 00:11:29,730 --> 00:11:33,620 இப்பொழுதே அந்த குறியீடு சிறிது மூலம் நடக்க இருக்கிறது. 162 00:11:33,620 --> 00:11:36,400 இங்கே நம் மிகுதி விழா. 163 00:11:36,400 --> 00:11:40,380 ஒரு அடுக்கு எங்கள் மிகுதி செயல்பாடு ஸ்டாக் வைக்க சரம் இல் நடக்கப்போகிறது. 164 00:11:40,380 --> 00:11:45,820 சரம் வெற்றிகரமாக தள்ளப்படுகிறது என்றால் அது உண்மை திரும்ப நடக்கிறது 165 00:11:45,820 --> 00:11:51,820 ஸ்டாக் மற்றும் தவறான இல்லையெனில் மீது. 166 00:11:51,820 --> 00:11:59,740 என்ன எந்த ஆலோசனைகளை இங்கே செய்ய ஒரு நல்ல முதல் விஷயம் இருக்கும்? 167 00:11:59,740 --> 00:12:20,630 அளவு திறன் சமமாக இருந்தால் [சாம்] பின்னர் தவறான திரும்ப? 168 00:12:20,630 --> 00:12:23,320 [Hardison] பிங்கோ. நல்ல வேலை. 169 00:12:23,320 --> 00:12:26,310 அளவு திறன் இருந்தால், நாம் தவறான திரும்ப போகிறோம். 170 00:12:26,310 --> 00:12:29,270 நாம் ஸ்டேக் இன்னும் எதையும் வைக்க முடியாது. 171 00:12:29,270 --> 00:12:36,900 இல்லையெனில், நாங்கள் ஸ்டேக் மேல் ஏதாவது கொடுக்க வேண்டும். 172 00:12:36,900 --> 00:12:41,670 ஆரம்பத்தில் "ஸ்டாக் மேல்," என்ன இது? 173 00:12:41,670 --> 00:12:43,650 [டேனியல்] அளவு 0? >> அளவு 0. 174 00:12:43,650 --> 00:12:49,990 ஸ்டாக் உள்ள ஒரு விஷயம் பின்னர் ஸ்டேக் மேல் என்ன? சிறுமி, உனக்கு தெரியுமா? 175 00:12:49,990 --> 00:12:52,720 [மிஸ்ஸி] ஒரு. >> அளவு சரியாக, ஒன்றாகும். நீங்கள், அளவு சேர்த்து வைத்து 176 00:12:52,720 --> 00:13:01,690 நீங்கள் வரிசையில் குறியீட்டு அளவில் புதிய உறுப்பு உள்ள வைத்து நீங்கள் ஒவ்வொரு முறையும். 177 00:13:01,690 --> 00:13:05,470 என்று அர்த்தம் நாம், ஒரு லைனர் அந்த வகையான அதை செய்ய முடியும். 178 00:13:05,470 --> 00:13:11,910 நாம் சரங்களை வரிசை கிடைத்துவிட்டது ஆகவே, நாம், அளவு குறியீட்டு அதை அணுக போகிறீர்கள் 179 00:13:11,910 --> 00:13:14,780 நாங்கள் அங்கு எமது எரிப்பதை * சேமிக்க போகிறோம். 180 00:13:14,780 --> 00:13:19,340 இல்லை சரம் நகலெடுத்து இங்கே அங்கே நடக்கிறது என்பதை கவனிக்க, 181 00:13:19,340 --> 00:13:29,680 நினைவகம் இல்லை டைனமிக் ஒதுக்கீடு? 182 00:13:29,680 --> 00:13:34,440 பின்னர் மிஸ்ஸி, நாம் இப்போது என்ன செய்ய வேண்டும் என்று கொண்டு 183 00:13:34,440 --> 00:13:40,570 நாம் வரிசையில் சரியான இடத்தில் சரம் சேமித்த ஏனெனில், 184 00:13:40,570 --> 00:13:49,230 அவள் நாம் அடுத்த புஷ் தயாராக இருக்கிறோம் என்று ஒன்று அளவு அதிகரிக்கவில்லை என்று கூறினார். 185 00:13:49,230 --> 00:13:53,950 நாம் s.size மூலம் அதை செய்யலாம் +. 186 00:13:53,950 --> 00:13:59,330 இந்த கட்டத்தில், நாங்கள் எங்கள் அணி தள்ளப்பட்டால். நாம் செய்ய வேண்டிய கடைசி விஷயம் என்ன? 187 00:13:59,330 --> 00:14:10,110 [மாணவர்] உண்மையான செல். >> உண்மையான செல். 188 00:14:10,110 --> 00:14:14,690 அது, ஒரு அழகான எளிமையான குறியீடு அழகான எளிது. இல்லை அதிகம். 189 00:14:14,690 --> 00:14:17,070 நீங்கள், ஸ்டாக் எவ்வாறு சுற்றி உங்கள் தலையில் மூடப்பட்டிருக்கும் 190 00:14:17,070 --> 00:14:21,910 இந்த செயல்படுத்த அழகான எளிது. 191 00:14:21,910 --> 00:14:26,390 >> இப்போது, இந்த அடுத்த பகுதி ஸ்டேக் ஒரு சரம் ஆஃப் உறுத்தும். 192 00:14:26,390 --> 00:14:29,410 நான் உங்களுக்கு இந்த சிறிது வேலை செய்ய சில நேரம் கொடுக்க போகிறேன். 193 00:14:29,410 --> 00:14:34,320 இது கிட்டத்தட்ட அடிப்படையில் நாம் இங்கே மிகுதி உள்ள செய்துவிட்டேன் என்ன தலைகீழ் தான். 194 00:14:34,320 --> 00:14:38,510 நான் என்ன செய்துவிட்டேன் உண்மையில் - oops. 195 00:14:38,510 --> 00:14:48,160 நான், இங்கு, மற்றும் பயன்பாட்டிற்கான ஒரு பயன்பாட்டு பொருட்களை துவங்கியதும் 196 00:14:48,160 --> 00:14:53,600 நான் பிரச்சனை 5 விவரக்குறிப்பு அமைக்க இழுத்து. 197 00:14:53,600 --> 00:15:02,560 நாம் இங்கே பெரிதாக்க என்றால், நாம் நான் cdn.cs50.net/2012/fall/psets/pset5.pdf இருக்கிறேன் பார்க்க முடியும். 198 00:15:02,560 --> 00:15:08,590 நீங்கள், இங்கே section6.zip அமைந்துள்ள என்று இந்த குறியீடு பதிவிறக்கம்? 199 00:15:08,590 --> 00:15:15,030 எல்லாம் சரி. நீங்கள் உண்மையில் விரைவாக, இப்போது அதை செய்ய, அந்த செய்யவில்லை என்றால். 200 00:15:15,030 --> 00:15:22,130 நான் என் முனைய சாளரத்தில் அதை செய்கிறேன். 201 00:15:22,130 --> 00:15:25,090 நான் உண்மையில் இங்கே அது இல்லை. Yeah. 202 00:15:25,090 --> 00:15:34,730 ஆமாம், சாம்? >> நான் ஏன் = str அளவு s.string 'கள் அடைப்புக்குறிக்குள் சொன்னார் பற்றி ஒரு கேள்வி? 203 00:15:34,730 --> 00:15:42,910 Str என்ன? என்று முன்பு எங்கோ வரையறுக்கப்பட்ட, அல்லது - ஓ, கரி * str உள்ள? 204 00:15:42,910 --> 00:15:47,160 [Hardison] ஆமாம், சரியாக. அந்த வாதம் இருந்தது. >> ஓ, சரி. மன்னிக்கவும். 205 00:15:47,160 --> 00:15:49,470 [Hardison] நாங்கள் உள்ளே தள்ள சரம் குறிப்பிடாமல் 206 00:15:49,470 --> 00:15:55,220 நாம் உண்மையில் இங்கே பற்றி பேசவில்லை என்று வரும் என்று மற்ற கேள்வி 207 00:15:55,220 --> 00:15:58,810 நாம் கள் என்று இந்த மாறி என்று வழங்கப்பட்டது நாம் எடுத்து 208 00:15:58,810 --> 00:16:02,710 அந்த நோக்கம் மற்றும் எங்களுக்கு அணுக இருந்தது. 209 00:16:02,710 --> 00:16:06,960 கள் இந்த ஸ்டேக் struct என்று வழங்கப்பட்டது நாம் எடுத்து. 210 00:16:06,960 --> 00:16:08,930 எனவே, இந்த உந்துதல் குறியீடு திரும்பி பார்க்க 211 00:16:08,930 --> 00:16:13,450 நீங்கள் நாம் கடந்து விட்டது என்பதை இந்த வாசகத்தில் பொருள் செய்கிறீர்கள் என்று பார்க்கலாம் 212 00:16:13,450 --> 00:16:19,210 ஆனால் பின்னர் திடீரென்று, நாம் போன்ற, s.size அணுகும், கள் எங்கிருந்து வந்தது? 213 00:16:19,210 --> 00:16:23,020 நாம் பிரிவில் காப்பகத்தில் பார்க்க போகிறோம் என்று குறியீடு 214 00:16:23,020 --> 00:16:27,100 பின்னர் நீங்கள் உங்கள் பிரச்சனை என்ன என்று நான் பொருள், அமைக்கிறது 215 00:16:27,100 --> 00:16:32,440 நாம் ஸ்டேக் உலக மாறி struct செய்துவிட்டேன் 216 00:16:32,440 --> 00:16:36,380 நாம் பல்வேறு செயல்பாடுகளை அதை அணுக முடியும் என்று 217 00:16:36,380 --> 00:16:40,630 கைமுறையாக அதை சுற்றி கடந்து மற்றும் குறிப்பு மூலம் அனுப்ப இல்லாமல், 218 00:16:40,630 --> 00:16:44,870 அது பொருள் அனைத்து வகையான செய்ய. 219 00:16:44,870 --> 00:16:52,280 நாங்கள் இனிமையானதுமாகும் விஷயங்கள் செய்ய, நீங்கள் கூட, கொஞ்சம் ஏமாற்றி. 220 00:16:52,280 --> 00:16:57,430 மேலும் அது வேடிக்கையாக இருக்கிறது, ஏனெனில் நாங்கள் இங்கே செய்கிறீர்கள் விஷயம், இது எளிதாக இருந்தது. 221 00:16:57,430 --> 00:17:02,800 அவர்கள் ஒரு பெரிய தரவு அமைப்பு இருந்தால் பெரும்பாலும், நீங்கள் மக்கள் இதை பார்க்கலாம் 222 00:17:02,800 --> 00:17:07,750 அவர்களின் திட்டம் உள்ளே இயக்கப்படும். 223 00:17:07,750 --> 00:17:09,560 >> இன் பயன்பாடு வழியாக திரும்பி செல்லலாம். 224 00:17:09,560 --> 00:17:15,240 அனைவரும் வெற்றிகரமாக section6.zip கிடைத்ததா? 225 00:17:15,240 --> 00:17:20,440 அனைவரும் விரிவாக்கு section6.zip பயன்படுத்தி zip கோப்பை திறக்க? 226 00:17:20,440 --> 00:17:27,200 நீங்கள் பகுதி 6 அடைவில் சென்றால் - 227 00:17:27,200 --> 00:17:29,220 ஆ ஆ, எல்லா இடத்திலும் - 228 00:17:29,220 --> 00:17:32,840 நீங்கள் இங்கே என்ன பட்டியலிட, நீங்கள் மூன்று வெவ்வேறு. கேட்ச் கோப்புகளை பெற்றுவிட்டோம் என்று பார்க்க. 229 00:17:32,840 --> 00:17:38,350 நீங்கள் தனித்தனி தொடர்புடைய பட்டியலில் ஒரு வரிசை, ஒரு சோசலிச தொழிலாளர் கழகம், மற்றும் ஒரு அடுக்கு கிடைத்துவிட்டது. 230 00:17:38,350 --> 00:17:44,600 நீங்கள் stack.c திறந்து இருந்தால், 231 00:17:44,600 --> 00:17:47,330 நீ, நாம் வரையறுக்கப்படுகிறது இந்த struct பெற்றுவிட்டோம் என்று பார்க்கலாம் 232 00:17:47,330 --> 00:17:51,330 நாம் தான் ஸ்லைடுகள் பேசப்படுவோம் சரியான struct. 233 00:17:51,330 --> 00:17:56,340 நாம், ஸ்டாக் எமது உலக மாறி கிடைத்துவிட்டது 234 00:17:56,340 --> 00:18:00,110 நாம், நம் மிகுதி செயல்பாடு கிடைத்துவிட்டது 235 00:18:00,110 --> 00:18:04,230 பின்னர் நாங்கள் எங்கள் பாப் செயல்பாடு கிடைத்துவிட்டது. 236 00:18:04,230 --> 00:18:08,320 இங்கே ஸ்லைடு மீண்டும் தள்ள நான், குறியீடு வைக்கிறேன் 237 00:18:08,320 --> 00:18:10,660 ஆனால் நான் உங்களுக்கு செய்ய விரும்பினால், உங்கள் திறனை சிறந்த உள்ளது 238 00:18:10,660 --> 00:18:13,790 சென்று பாப் செயல்பாட்டை செயல்படுத்த. 239 00:18:13,790 --> 00:18:18,480 நீங்கள் அதை செயல்படுத்த நான், நீ, ஸ்டாக் வைக்க இந்த தொகுக்க முடியும் 240 00:18:18,480 --> 00:18:22,540 பின்னர், இதன் விளைவாக ஸ்டேக் இயங்கக்கூடிய ரன் 241 00:18:22,540 --> 00:18:28,390 என்று கீழே இங்கே பிரதான உள்ள இந்த சோதனை குறியீடு அனைத்து இயங்கும். 242 00:18:28,390 --> 00:18:31,060 மற்றும் முக்கிய உண்மையில் புஷ் மற்றும் பாப் அழைப்புகளை செய்து பார்த்து கொள்கிறார் 243 00:18:31,060 --> 00:18:33,220 எல்லாவற்றையும் சரியான வழியாக செல்கிறது என்பதை உறுதி செய்யும். 244 00:18:33,220 --> 00:18:36,820 இது சரியான இங்கு ஸ்டாக் அளவு துவக்கும் 245 00:18:36,820 --> 00:18:39,780 நீ என்று ஆரம்பிக்கும் பற்றி கவலைப்பட வேண்டியது இல்லை. 246 00:18:39,780 --> 00:18:42,310 நீங்கள் அதை சரியாக துவக்க பட்டது என்று நினைத்து கொள்ளுங்கள் 247 00:18:42,310 --> 00:18:48,000 நீங்கள் அதை பாப் விழாவில் அணுக அந்த நேரத்தில். 248 00:18:48,000 --> 00:18:53,530 அந்த உணர்வு ஏற்படுத்தும்? 249 00:18:53,530 --> 00:19:00,100 இங்கு நாம். மிகுதி குறியீடு உள்ளது. 250 00:19:00,100 --> 00:19:13,210 நான் உங்களுக்கு 5 அல்லது 10 நிமிடங்கள் கொடுக்க வேண்டும். 251 00:19:13,210 --> 00:19:15,690 நீங்கள் குறியீட்டு நீங்கள் போது இடைக்கால உள்ள ஏதேனும் கேள்விகள் இருந்தால், 252 00:19:15,690 --> 00:19:17,710 இன்னும் சத்தமாக கேளுங்கள். 253 00:19:17,710 --> 00:19:23,080 நீங்கள் ஒரு வெட்டு புள்ளி கிடைக்கும் என்றால், நான் கேட்க. 254 00:19:23,080 --> 00:19:26,030 மற்றவர்களை தெரியட்டும், எனக்கு தெரியப்படுத்துங்கள். 255 00:19:26,030 --> 00:19:28,160 உங்கள் அண்டை வேலை. 256 00:19:28,160 --> 00:19:30,360 [டேனியல்] நாம் இப்போது பாப் செயல்படுத்தி வருகிறோம்? >> ஒரு பாப். 257 00:19:30,360 --> 00:19:34,200 நீங்கள் விரும்பினால் நீங்கள் மிகுதி செயல்படுத்த நகலெடுக்க முடியும் என்று 258 00:19:34,200 --> 00:19:37,780 சோதனை வேலை செய்யும் என்று. 259 00:19:37,780 --> 00:19:41,940 அது ஏற்பட்டதற்கு பொருட்களை சோதிக்க கடினம் என்பதால் - 260 00:19:41,940 --> 00:19:49,030 அல்லது, அதை தொடங்க ஸ்டேக் ஒன்றும் இல்லை என்றால் ஒரு அடுக்கை உறுத்தும் பொருட்களை சோதனை கடினம். 261 00:19:49,030 --> 00:19:55,250 >> திரும்பி இருக்க வேண்டும் பாப் என்ன? ஸ்டாக் மேல் இருந்து உறுப்பு. 262 00:19:55,250 --> 00:20:01,260 அது அடுக்கின் மேல் ஒரு உறுப்பு ஆஃப் பெற வேண்டும் 263 00:20:01,260 --> 00:20:05,780 பின்னர், ஸ்டாக் அளவு குறைத்தல் 264 00:20:05,780 --> 00:20:07,810 இப்போது நீங்கள் மேலே உறுப்பு இழந்துவிட்டேன். 265 00:20:07,810 --> 00:20:11,420 பின்னர் நீங்கள் மேலே உறுப்பு திருப்பி. 266 00:20:11,420 --> 00:20:20,080 [மாணவர், புரிந்து] 267 00:20:20,080 --> 00:20:28,810 [Hardison] அதனால் நீ செய்தால் என்ன நடக்கும்? [மாணவர், புரிந்து] 268 00:20:28,810 --> 00:20:34,000 வரை நடக்கிறது முடிவடைகிறது என்ன ஒருவேளை நீங்கள் ஒன்று அணுகுவதை 269 00:20:34,000 --> 00:20:37,350 ஒரு உறுப்பு இன்னும் துவக்க முடியவில்லை, எனவே உங்கள் கணக்கு 270 00:20:37,350 --> 00:20:39,990 இது கடந்த உறுப்பு ஆஃப் எங்கே என்று. 271 00:20:39,990 --> 00:20:46,260 நீங்கள் கவனிக்கவில்லையா என்றால் இங்கே, புஷ், நாம் s.size உறுப்பு உள்ள சரங்களை அணுகுவதை 272 00:20:46,260 --> 00:20:48,560 இது ஒரு புதிய குறியீட்டு காரணம். 273 00:20:48,560 --> 00:20:51,460 இது ஸ்டேக் புதிய மேல் தான். 274 00:20:51,460 --> 00:21:01,100 பாப் அதேசமயம், s.size, அடுத்த இடத்தில் இருக்கும் 275 00:21:01,100 --> 00:21:05,210 உங்கள் ஸ்டேக் அனைத்து கூறுகள் மேல் என்று வெளி. 276 00:21:05,210 --> 00:21:10,050 அதனால் மேல் மிகவும் உறுப்பு, s.size இல்லை 277 00:21:10,050 --> 00:21:14,930 மாறாக, அது கீழே உள்ளது. 278 00:21:14,930 --> 00:21:19,640 >> நீங்கள் செய்ய வேறு விஷயம் - பாப் உள்ள, 279 00:21:19,640 --> 00:21:22,030 நீங்கள் அளவை குறைத்தல் வேண்டும். 280 00:21:22,030 --> 00:21:28,750 நீங்கள் இங்கு எங்கள் சிறிய வரைபடம் திரும்ப நினைவில் இருந்தால், 281 00:21:28,750 --> 00:21:30,980 உண்மையில், நாம் நடந்து கண்டது என்று தான் நாங்கள் பாப் அழைத்த பொழுது 282 00:21:30,980 --> 00:21:36,150 இந்த அளவு பின் 1, முதல் 2, கைவிடப்பட்டது என்று இருந்தது. 283 00:21:36,150 --> 00:21:42,620 நாம் ஒரு புதிய உறுப்பு தள்ளி போது, அதை சரியான இடத்தில் சென்று விடும். 284 00:21:42,620 --> 00:21:49,610 [பசில்] s.size 2 இருந்தால், அது உறுப்பு 2 போக முடியாது, 285 00:21:49,610 --> 00:21:54,400 பின்னர் நீங்கள் அந்த உறுப்பு ஆஃப் எடுக்க வேண்டும் என்று? 286 00:21:54,400 --> 00:21:59,510 நாம் சென்று இருந்தால் - >> எனவே மீண்டும் இந்த பாருங்கள் நாம். 287 00:21:59,510 --> 00:22:07,730 இந்த கட்டத்தில் நம் ஸ்டேக் இருந்தால் 288 00:22:07,730 --> 00:22:12,130 நாம், பாப் அழைப்பு 289 00:22:12,130 --> 00:22:16,150 இதில் குறியீட்டு மேல் மிகவும் உறுப்பு ஆகும்? 290 00:22:16,150 --> 00:22:19,300 [பசில்] 2 மணிக்கு, ஆனால் அது 3 எடுக்க நடக்கிறது. >> வலது. 291 00:22:19,300 --> 00:22:24,220 நமது அளவு 3 எங்கே என்று, ஆனால் நாம் குறியீட்டு 2 உறுப்பு எடுக்க வேண்டும். 292 00:22:24,220 --> 00:22:29,900 அதை நீங்கள் வரிசைகளின் பூச்சிய அட்டவணையிடுதல் இருக்கும் என்று ஒன்று உண்டு என்று பொதுவான வகையான தான். 293 00:22:29,900 --> 00:22:36,430 அதனால் மூன்றாவது உறுப்பு எடுக்க வேண்டும், ஆனால் மூன்றாவது உறுப்பு குறியீட்டு 3 இல்லை. 294 00:22:36,430 --> 00:22:39,430 மற்றும் நாம் தள்ளும் போது அந்த கழித்து 1 செய்ய இல்லை காரணம் 295 00:22:39,430 --> 00:22:44,120 இப்போது தான், நீங்கள் கவனிக்கவில்லையா என்று மேல் மிகவும் உறுப்பு, 296 00:22:44,120 --> 00:22:47,600 நாம் இந்த இடத்தில் அடுக்கு மீது வேறு தள்ள இருந்தால், 297 00:22:47,600 --> 00:22:50,360 நாம் குறியீட்டு 3 அது தள்ள வேண்டும். 298 00:22:50,360 --> 00:23:03,550 இது தான் நீங்கள் தள்ளும் போது அளவு மற்றும் குறியீடுகள் வரிசையாக நடக்கிறது. 299 00:23:03,550 --> 00:23:06,960 >> ஒரு வேலை ஸ்டேக் செயல்படுத்த இருக்கிறது? 300 00:23:06,960 --> 00:23:09,690 நீங்கள் ஒரு வேலை ஸ்டேக் ஒரு கிடைத்துவிட்டது. பாப் இன்னும் நீங்கள் வேலை? 301 00:23:09,690 --> 00:23:11,890 [டேனியல்] ஆமாம். நான் அப்படி நினைக்கவில்லை. 302 00:23:11,890 --> 00:23:14,610 >> நிரல் இயங்கும் மற்றும் வகை பெயர்ச்சிகள் Seg இல்லை, அது அச்சிடுகிறது? 303 00:23:14,610 --> 00:23:17,520 நீங்கள் அதை இயக்குவதற்கு போது அதை "வெற்றி" அவுட் அச்சிட? 304 00:23:17,520 --> 00:23:22,630 Yeah. அதை "வெற்றி" அவுட் அச்சிடுகிறது மற்றும் ஏற்றம் செல்வது என்றால், குவியலாக இதை இயக்க, 305 00:23:22,630 --> 00:23:26,000 பின்னர் அனைத்து நல்லது. 306 00:23:26,000 --> 00:23:34,070 எல்லாம் சரி. உலகின் மிகவும் விரைவாக சாதனம் வழியாக செல்லலாம், 307 00:23:34,070 --> 00:23:46,100 நாம் இந்த வழியாக செல்வேன். 308 00:23:46,100 --> 00:23:51,110 நாம் பாப் இங்கு என்ன நடக்கிறது பாருங்கள், நீங்கள் 309 00:23:51,110 --> 00:23:55,220 டேனியல், நீங்கள் அந்த முதல் காரியம் என்ன? 310 00:23:55,220 --> 00:23:58,850 [டேனியல்] s.size 0 அதிகமாக இருந்தால். 311 00:23:58,850 --> 00:24:03,120 [Hardison] சரி. நீங்கள் ஏன் அதை செய்தாய்? 312 00:24:03,120 --> 00:24:05,610 [டேனியல்] ஸ்டேக் உள்ளே ஏதோ என்று உறுதி செய்ய. 313 00:24:05,610 --> 00:24:10,950 [Hardison] ரைட். நீங்கள் s.size 0 பெரியது என்று உறுதி செய்ய சோதிக்க வேண்டும்; 314 00:24:10,950 --> 00:24:13,280 இல்லையெனில், நீங்கள் நடக்க வேண்டும் என்று விரும்புகிறீர்கள்? 315 00:24:13,280 --> 00:24:16,630 [டேனியல்] மீண்டும் பூஜ்ய? >> மீண்டும் பூஜ்ய, சரியாக. 316 00:24:16,630 --> 00:24:20,740 நீங்கள் s.size 0 அதிகமாக இருக்கும். நாம் என்ன செய்ய போகிறோம்? 317 00:24:20,740 --> 00:24:25,890 ஸ்டாக் காலியாக இல்லை என்றால் நாம் என்ன செய்வது? 318 00:24:25,890 --> 00:24:31,210 [ஸ்டெல்லா] நீங்கள் அளவை குறைத்தல்? நீங்கள் நன்றாக, அளவு குறைத்தல். 319 00:24:31,210 --> 00:24:34,440 நீ எப்படி செய்தாய்? >> S.size -. 320 00:24:34,440 --> 00:24:37,030 [Hardison] கிரேட். பின்னர் நீ என்ன செய்தாய்? 321 00:24:37,030 --> 00:24:44,140 [ஸ்டெல்லா] பிறகு நான் திரும்பி s.string கூறினார் [s.size]. 322 00:24:44,140 --> 00:24:48,560 [Hardison] கிரேட். 323 00:24:48,560 --> 00:24:51,940 மற்றபடி நீங்கள் வெற்று திருப்பி. ஆமாம், சாம்? 324 00:24:51,940 --> 00:24:55,510 [சாம்] ஏன் + 1 s.size வேண்டும் இல்லை? 325 00:24:55,510 --> 00:24:58,430 [Hardison] பிளஸ் 1? >> சரி. >> புரிந்தது. 326 00:24:58,430 --> 00:25:00,980 நீங்கள் 1 ரன் எடுத்து வருகிறோம் ஏனெனில் [சாம்] நான் நினைத்தேன், 327 00:25:00,980 --> 00:25:04,290 பிறகு அவர்கள் கேட்ட ஒரு திரும்பிய போகிறாய். 328 00:25:04,290 --> 00:25:09,400 [Hardison] இந்த நாங்கள் 0 குறியீடுகள் இந்த பிரச்சனை பற்றி பேசி கொண்டிருந்தோம் தான் என்ன. 329 00:25:09,400 --> 00:25:11,380 எனவே நாம் இங்கு மீண்டும் பெரிதாக்க வேண்டும். 330 00:25:11,380 --> 00:25:15,650 நாம் இங்கேயே இந்த பையன் பார்த்தால், நீங்கள், நாங்கள் பாப் என்று பார்க்கலாம் 331 00:25:15,650 --> 00:25:19,340 நாம் குறியீட்டு 2 உறுப்பு உறுத்தும். 332 00:25:19,340 --> 00:25:25,200 >> எனவே நாம் நமது அளவு நம் குறியீட்டு பொருந்தும், முதல் எங்கள் அளவு குறைந்துவிடும். 333 00:25:25,200 --> 00:25:39,650 நாம் முதல் அளவு குறைத்தல் என்றால், நாம் -1 பின்னர் குறைப்பு அளவு செய்ய வேண்டும். 334 00:25:39,650 --> 00:25:45,270 பெரிய. அனைத்து நல்ல? 335 00:25:45,270 --> 00:25:47,530 இந்த கேள்விகள்? 336 00:25:47,530 --> 00:25:54,050 இந்த அத்துடன் எழுத வேறு பல வழிகள் உள்ளன. 337 00:25:54,050 --> 00:26:03,290 உண்மையில், நாங்கள் ஏதாவது செய்ய முடியும் - நாம் ஒரு லைனர் செய்ய முடியும். 338 00:26:03,290 --> 00:26:05,770 நாம் ஒரு வரியை திரும்ப செய்ய முடியும். 339 00:26:05,770 --> 00:26:12,980 நாம் செய்து வரும் முன் நாம் உண்மையில் கழி முடியும். 340 00:26:12,980 --> 00:26:18,320 எனவே வைத்தது - s.size முன். 341 00:26:18,320 --> 00:26:22,060 அந்த வரிசையில் மிகவும் அடர்த்தியான செய்கிறது. 342 00:26:22,060 --> 00:26:30,940 அங்கு உள்ள வித்தியாசம் -. கள் அளவு மற்றும் s.size - 343 00:26:30,940 --> 00:26:40,130 என்று இந்த பின்இணைப்பு - ஏனெனில் அவர்கள் பின்இணைப்பு அழைப்பு - வந்தவுடன் s.size - 344 00:26:40,130 --> 00:26:47,430 s.size குறியீட்டு கண்டறியும் காரணங்களுக்காக மதிப்பீடு என்று அர்த்தம் 345 00:26:47,430 --> 00:26:50,410 இந்த வரி நிறைவேற்றப்பட்ட போது தற்போது உள்ளது, 346 00:26:50,410 --> 00:26:54,290 பின்னர் இந்த - லைன் கொலை விடும் பிறகு நடக்கும். 347 00:26:54,290 --> 00:27:00,340 குறியீட்டு s.size உள்ள உறுப்பு அணுக பிறகு. 348 00:27:00,340 --> 00:27:07,260 நாம் குறைப்பு முதல் நடக்க வேண்டும், ஏனெனில் அது, நாம் என்ன தேவை இல்லை. 349 00:27:07,260 --> 00:27:10,990 Othewise, நாம் வரிசை அணுகும் போகிறாய், திறம்பட, எல்லைக்கு வெளியே. 350 00:27:10,990 --> 00:27:16,850 நாம் உண்மையில் அணுக வேண்டும் என்று ஒரு மேலே உறுப்பு அணுகும் போகிறாய். 351 00:27:16,850 --> 00:27:23,840 சரி, சாம்? >> அது வேகமாக அல்லது ஒரு வரி இல்லையா செய்ய குறைந்த ரேம் பயன்படுத்த முடியுமா? 352 00:27:23,840 --> 00:27:29,620 [Hardison] சத்தியமாக, உண்மையாக உள்ளது. 353 00:27:29,620 --> 00:27:34,220 [சாம், புரிந்து] >> சரி, அது தங்கியுள்ளது. நீங்கள் தொகுப்பி தந்திரங்களை செய்ய முடியும் 354 00:27:34,220 --> 00:27:41,580 என்று அங்கீகரிக்க தொகுப்பி பெற, பொதுவாக, நான் கற்பனை. 355 00:27:41,580 --> 00:27:44,840 >> எனவே நாம் இந்த தொகுப்பி உகந்ததாக்கல் விஷயங்களை பற்றி கொஞ்சம் குறிப்பிட்டுள்ளார் 356 00:27:44,840 --> 00:27:47,400 நீங்கள், ஒடுக்குவதற்கான செய்ய முடியும் என்று 357 00:27:47,400 --> 00:27:50,580 என்று, ஒரு தொகுப்பி கண்டுபிடிக்க முடியும் என்று தான் என்ன தான் 358 00:27:50,580 --> 00:27:54,710 ஓ போல, ஏ, ஒருவேளை நான், ஒரு அறுவை சிகிச்சை இந்த அனைத்து செய்ய முடியும் 359 00:27:54,710 --> 00:27:59,420 என ரேம் இருந்து அளவு மாறி ஏற்றும் எதிராக, 360 00:27:59,420 --> 00:28:03,770 , அதை decrementing மீண்டும் அதை சேமித்து, மீண்டும் அதை திரும்ப ஏற்றும் 361 00:28:03,770 --> 00:28:08,000 இந்த நடவடிக்கை மற்ற செயல்படுத்த. 362 00:28:08,000 --> 00:28:10,710 ஆனால் பொதுவாக, இல்லை, இந்த விஷயம் வகையான அல்ல 363 00:28:10,710 --> 00:28:20,770 அந்த அளவிற்கு வேகமாக உங்கள் உருவாக்க நடக்கிறது. 364 00:28:20,770 --> 00:28:26,000 ஸ்டாக்குகள் எந்த கேள்விகள்? 365 00:28:26,000 --> 00:28:31,360 >> எனவே அழுத்தம் மற்றும் உறுத்தும். நீங்கள், ஹேக்கர் பதிப்பு முயற்சிக்க வேண்டும் 366 00:28:31,360 --> 00:28:33,660 என்ன நாம் ஹேக்கர் பதிப்பில் செய்த உண்மையில் போய்விட்டது 367 00:28:33,660 --> 00:28:37,670 இந்த ஸ்டேக் மாறும் வளர வேண்டும். 368 00:28:37,670 --> 00:28:43,190 இங்கு மிகுதி செயல்பாடு முதன்மையாக உள்ளது சவால், 369 00:28:43,190 --> 00:28:48,820 அந்த வரிசையில் வளர எப்படி கண்டுபிடிக்க 370 00:28:48,820 --> 00:28:52,450 நீங்கள் ஸ்டேக் மீது மேலும் கூறுகள் தள்ளி வைக்க வேண்டும். 371 00:28:52,450 --> 00:28:56,000 அது உண்மையில் மிகவும் கூடுதல் குறியீடு அல்ல. 372 00:28:56,000 --> 00:29:00,080 நீங்கள் ஒழுங்காக அங்கு malloc அழைப்புகளை பெற நினைவில் வேண்டும், - என்று ஒரு அழைப்பு 373 00:29:00,080 --> 00:29:03,310 நீங்கள் realloc அழைக்க போகிறோம் போது பிறகு கண்டுபிடித்தார்கள். 374 00:29:03,310 --> 00:29:06,090 ஆர்வம் இருந்தால், ஒரு வேடிக்கை சவாலாக உள்ளது. 375 00:29:06,090 --> 00:29:11,550 >> ஆனால் தற்போதைக்கு, அது மேலே நாம், மற்றும் வரிசைகளை பற்றி பேச நாம். 376 00:29:11,550 --> 00:29:15,680 இங்கே ஸ்க்ரோல். 377 00:29:15,680 --> 00:29:19,340 வரிசை ஸ்டேக் நெருங்கிய உறவினர் ஆவார். 378 00:29:19,340 --> 00:29:25,380 எனவே அடுக்கில், அந்த விஷயங்கள் கடந்த வைக்கப்பட்டனர் 379 00:29:25,380 --> 00:29:28,810 பின்னர் எடுக்கப்பட்ட முதல் விஷயங்கள் இருந்தன. 380 00:29:28,810 --> 00:29:33,600 நாம் ஆர்டர், இந்த, கடந்த அவுட் முதல், அல்லது LIFO கிடைத்துவிட்டது. 381 00:29:33,600 --> 00:29:38,390 வரிசையில் அதேசமயம், நீங்கள் வரிசையில் நின்று போது எதிர்பார்க்க அப்படியே, 382 00:29:38,390 --> 00:29:41,980 வரிசையில் பெற முதல் நபர், வரிசை பெற முதல் காரியம், 383 00:29:41,980 --> 00:29:47,630 வரிசையில் இருந்து பெறப்பட்டது விடும் என்று முதல் விஷயம். 384 00:29:47,630 --> 00:29:51,490 நாம் வரைபடங்கள் கையாளும் போது வரிசைகளில் பெரும்பாலும், பயன்படுத்தப்படுகின்றன 385 00:29:51,490 --> 00:29:55,560 நாம் அடுக்குகள் கொண்ட சுருக்கமாக பேசினார், போன்ற 386 00:29:55,560 --> 00:30:00,260 மற்றும் வரிசைகளை மற்ற விஷயங்களை ஒரு கூட்டத்தை கூட எளிது அல்ல. 387 00:30:00,260 --> 00:30:06,180 அடிக்கடி வரும் என்று ஒன்று, உதாரணமாக, தக்க முயற்சி 388 00:30:06,180 --> 00:30:12,310 தனிமங்களின் ஒரு வரிசைப்படுத்தப்பட்ட பட்டியலை. 389 00:30:12,310 --> 00:30:17,650 நீங்கள் ஒரு வரிசையில் இந்த செய்ய முடியும். நீங்கள், ஒரு வரிசையில் விஷயங்களை ஒரு வரிசைப்படுத்தப்பட்ட பட்டியலை பராமரிக்க முடியும் 390 00:30:17,650 --> 00:30:20,650 ஆனால் அந்த தந்திரமான பெறுகிறார் பிறகு எங்கே நீங்கள் எப்போதும் கண்டுபிடிக்க வேண்டும் 391 00:30:20,650 --> 00:30:26,160 அடுத்த விஷயம் செருக பொருத்தமான இடத்தில். 392 00:30:26,160 --> 00:30:28,250 நீங்கள் 10 மூலம் எண்கள் ஒரு வரிசையில், 1 வேண்டும் என்றால், 393 00:30:28,250 --> 00:30:31,630 பிறகு, 100 மூலம் அனைத்து எண்கள் 1 என்று கொள்ள வேண்டும் 394 00:30:31,630 --> 00:30:33,670 நீங்கள் சீரற்ற வரிசையில் இந்த எண்கள் பெற எல்லாம் வைக்க 395 00:30:33,670 --> 00:30:40,650 நீங்கள் செல்ல என பிரிக்கப்பட்டு, நீங்கள் மாற்றுவதால் நிறைய செய்ய இருப்பதாக முடியும். 396 00:30:40,650 --> 00:30:43,910 வரிசைகளை மற்றும் அடிப்படை தரவு கட்டமைப்புகள் சில வகை வகையான கொண்டு, 397 00:30:43,910 --> 00:30:46,670 நீங்கள் உண்மையில் இது மிகவும் எளிமையான முடியும். 398 00:30:46,670 --> 00:30:50,640 நீங்கள் ஏதாவது சேர்த்து முழு விஷயம் ஒவ்வொரு முறையும் மறுசீரமைப்பில் இல்லை. 399 00:30:50,640 --> 00:30:56,770 அல்லது உங்களை சுற்றி உள் உறுப்புகள் மாற்றுவதால் நிறைய செய்ய வேண்டும். 400 00:30:56,770 --> 00:31:02,990 நாம் வரிசையில் இருக்கும் போது, நீங்கள் பார்க்க - மேலும் queue.c பிரிவு குறியீடு - 401 00:31:02,990 --> 00:31:10,950 நாங்கள் உங்களுக்கு கொடுத்த struct நாம் ஒரு ஸ்டேக் நீங்கள் கொடுத்த struct மிகவும் ஒத்ததாக இருக்கிறது. 402 00:31:10,950 --> 00:31:13,770 >> இந்த ஒரு விதிவிலக்கு இல்லை, அது ஒரு விதிவிலக்கு 403 00:31:13,770 --> 00:31:21,700 நாம் தலை என்று இந்த கூடுதல் முழு வேண்டும் என்று, 404 00:31:21,700 --> 00:31:28,120 இங்கு தலை, வரிசை தலைவர் கண்காணிப்பதற்கான உள்ளது 405 00:31:28,120 --> 00:31:32,160 வரிசையில் அல்லது முதல் உறுப்பு. 406 00:31:32,160 --> 00:31:37,470 ஒரு அடுக்கு கொண்ட, நாம், நாம் மீட்டெடுக்க பற்றி என்று உறுப்பு கண்காணிப்பதற்கான முடிந்தது 407 00:31:37,470 --> 00:31:40,800 ஒரு அளவு பயன்படுத்தி ஸ்டேக்கின் அல்லது மேல்,, 408 00:31:40,800 --> 00:31:44,220 வரிசையில் உள்ள அதேசமயம், நாங்கள் எதிர் முனைகளில் சமாளிக்க நேர்கிறது. 409 00:31:44,220 --> 00:31:49,000 நாம் பிசுப்பு இறுதியில் உள்ள விஷயங்களை முயற்சி, ஆனால் பின்னர் முன்னால் இருந்து பொருட்களை திருப்பி. 410 00:31:49,000 --> 00:31:54,640 எனவே திறமையுடன், தலை, நாம், வரிசை தொடக்கத்தில் குறியீட்டெண் வேண்டும் 411 00:31:54,640 --> 00:31:58,920 மற்றும் அளவு நம்மை வரிசை இறுதியில் அட்டவணை கொடுக்கிறது 412 00:31:58,920 --> 00:32:03,730 நாம் தலை இருந்து பொருட்களை பெற மற்றும் வால் மீது விஷயங்களை சேர்க்க முடியும். 413 00:32:03,730 --> 00:32:06,890 அடுக்கு கொண்ட அதேசமயம், நாம் மட்டுமே இதுவரை ஸ்டேக் மேல் கையாள்வதில் இருந்தன. 414 00:32:06,890 --> 00:32:08,900 நாம் ஸ்டேக் கீழே அணுக வேண்டும். 415 00:32:08,900 --> 00:32:12,220 நாம் மட்டும் மேலே விஷயங்களை சேர்க்க மற்றும் மேல் பொருட்களை கழற்றி 416 00:32:12,220 --> 00:32:17,470 எனவே நாம் நமது struct உள்ளே அந்த கூடுதல் துறையில் தேவை இல்லை. 417 00:32:17,470 --> 00:32:20,590 என்று பொதுவாக பயன்? 418 00:32:20,590 --> 00:32:27,670 எல்லாம் சரி. ஆமாம், சார்லோட்? [சார்லோட், புரிந்து] 419 00:32:27,670 --> 00:32:32,660 [Hardison] அது ஒரு பெரிய கேள்வி, மற்றும் விரிவுரையில் வந்தது என்று இருந்தது. 420 00:32:32,660 --> 00:32:36,290 ஒருவேளை ஒரு சில உதாரணங்கள் மூலம் நடைபயிற்சி விளக்கும் ஏன் 421 00:32:36,290 --> 00:32:41,400 நாம் சரங்களை வரிசை தலைவராக [0] பயன்படுத்த விரும்பவில்லை. 422 00:32:41,400 --> 00:32:46,770 >> எனவே நாம் நமது வரிசை என்று நினைத்து, அதை வரிசை அழைக்க போகிறோம். 423 00:32:46,770 --> 00:32:49,210 ஆரம்பத்தில், நாம் அதை instantiated போது, 424 00:32:49,210 --> 00:32:53,330 நாம் அதை அறிவித்தார் போது, நாம் எதையும் துவக்கப்படும். 425 00:32:53,330 --> 00:32:56,790 இது அனைத்து குப்பை தான். எனவே நிச்சயமாக நாம் துவக்க என்பதை உறுதி செய்ய வேண்டும் 426 00:32:56,790 --> 00:33:00,950 அளவு மற்றும் தலைவர் துறைகளில் இரு நியாயமான 0, ஏதாவது இருக்க வேண்டும். 427 00:33:00,950 --> 00:33:05,770 நாங்கள் போய் எங்கள் வரிசையில் உறுப்புகள் வெளியே பூஜ்ய முடியும். 428 00:33:05,770 --> 00:33:09,930 இந்த வரைபடம் பொருத்தம் செய்ய, இப்போது எங்கள் வரிசையில் மூன்று கூறுகளை நடத்த முடியாது என்று அறிவிப்பு; 429 00:33:09,930 --> 00:33:13,150 எங்கள் அடுக்கு நான்கு நடத்த முடியும் அதேசமயம், நமது வரிசையில் மூன்று நடத்த முடியும். 430 00:33:13,150 --> 00:33:18,680 அந்த வரைபடம் பொருத்தம் செய்ய மட்டும் தான். 431 00:33:18,680 --> 00:33:26,150 இங்கே நடக்கும் என்று முதல் விஷயம் நாம் "வணக்கம்" சரம் என்கியூ உள்ளது. 432 00:33:26,150 --> 00:33:30,380 மற்றும் போல் நாம் ஸ்டேக் செய்ததை, இங்கே மோசமாக வேறு எதுவும், 433 00:33:30,380 --> 00:33:39,230 நாம் சரங்களை உள்ள [0] மற்றும் 1 நம் அளவு அதிகரிக்கவில்லை மீது சரம் எறியுங்கள். 434 00:33:39,230 --> 00:33:42,720 நாம் "பை" என்கியூ, அதை வைத்து. 435 00:33:42,720 --> 00:33:45,870 இந்த மிக பகுதியாக ஒரு அடுக்கு தெரிகிறது. 436 00:33:45,870 --> 00:33:53,230 நாம், இங்கு புதிய உறுப்பு, புதிய உறுப்பு தொடங்கியது, அளவு சென்று கொண்டிருக்கிறது. 437 00:33:53,230 --> 00:33:56,330 நாம் ஏதாவது dequeue வேண்டும் போது என்ன இந்த கட்டத்தில் நடக்கும்? 438 00:33:56,330 --> 00:34:01,280 நாம் dequeue வேண்டும் போது, அதில் நாம் dequeue வேண்டும் என்று உறுப்பு ஆகும்? 439 00:34:01,280 --> 00:34:04,110 [பசில்] சரங்கள் [0]. >> ஜீரோ. சரியாக, பசில். 440 00:34:04,110 --> 00:34:10,960 நாம் முதல் சரம், இந்த, "வணக்கம்" பெற வேண்டும். 441 00:34:10,960 --> 00:34:13,170 எனவே மாற்றம் மற்ற விஷயம் என்ன? 442 00:34:13,170 --> 00:34:17,010 நாம் ஸ்டேக்கின் ஏதாவது ஆஃப் தெரித்து போது கவனிக்க, நாம் தான், அளவு மாற்றம் 443 00:34:17,010 --> 00:34:22,080 ஆனால் இங்கே, நாம் மாற்றம் விஷயங்களை ஒரு ஜோடி கிடைத்திருக்கிறது. 444 00:34:22,080 --> 00:34:27,440 அளவு மாற்றம், ஆனால் தலை மாற்றங்கள் இல்லை தான். 445 00:34:27,440 --> 00:34:31,020 இந்த முந்தைய சார்லோட் புள்ளி மீண்டும் வருகிறது: 446 00:34:31,020 --> 00:34:38,699 ஏன் நாம் இந்த தலை இருக்கிறது? 447 00:34:38,699 --> 00:34:42,110 அது, இப்போது சார்லோட் உணர்வு ஏற்படுத்தும்? ஒரு >> கைண்ட். 448 00:34:42,110 --> 00:34:47,500 ஒரு [Hardison] கைண்ட்? நாம் dequeued போது அதனால் என்ன நடந்தது? 449 00:34:47,500 --> 00:34:54,340 தலை இப்போது சுவாரஸ்யமான என்று என்ன செய்தாய்? 450 00:34:54,340 --> 00:34:56,449 அதை மாற்ற [சார்லோட்] ஓ, ஏனெனில் - பரவாயில்லை. நான் பார்க்கிறேன். 451 00:34:56,449 --> 00:35:02,090 ஏனெனில் தலைவர் - தலைமை இடம் ஆகியவற்றில் மாற்றங்களை சுட்டி அமைந்துள்ள. 452 00:35:02,090 --> 00:35:07,200 அது இனி எப்போதும் பூஜ்யம் குறியீட்டு தான். >> சரி, சரியாக. 453 00:35:07,200 --> 00:35:17,660 உயர் உறுப்பு dequeueing என்ன நடந்தது 454 00:35:17,660 --> 00:35:20,590 செய்யப்பட்டது நாம் இந்த தலை புலம் இல்லை 455 00:35:20,590 --> 00:35:26,880 நாம் எப்போதும் 0 குறியீட்டு எங்கள் வரிசை தலைமை இந்த சரம் அழைப்பு ஏனெனில், 456 00:35:26,880 --> 00:35:30,170 நாம் வரிசையில் மீதமுள்ள கீழே மாற்ற வேண்டும் என்று. 457 00:35:30,170 --> 00:35:36,010 நாம் சரங்களை இருந்து இருந்து "பை" [1] மாற்ற [0] சரங்களை வேண்டும் என்று. 458 00:35:36,010 --> 00:35:38,760 மற்றும் சரங்களை [2] கீழே வேண்டிய சரங்களை [1]. 459 00:35:38,760 --> 00:35:43,050 நாம், உறுப்புகள் முழு பட்டியலை செய்ய வேண்டும் என்று 460 00:35:43,050 --> 00:35:45,110 கூறுகளை முழு வரிசை. 461 00:35:45,110 --> 00:35:50,490 நாம் ஒரு வரிசைக்கு இந்த செய்கிறீர்கள் போது, உண்மையில் செலவு செய்தார். 462 00:35:50,490 --> 00:35:53,340 இங்கு, இது ஒரு பெரிய விஷயம் இல்லை. நாம் நமது அணி மூன்று கூறுகள் உள்ளன. 463 00:35:53,340 --> 00:35:57,230 ஆனால் நாம் ஒரு ஆயிரம் தனிமங்களை ஒரு வரிசை அல்லது ஒரு மில்லியன் கூறுகள் இருந்தால், 464 00:35:57,230 --> 00:36:00,060 பின்னர், திடீரென்று, நாம் dequeue ஒரு கூட்டத்தை செய்ய, ஒரு வட்டத்திற்கு அனைத்து அழைப்பு 465 00:36:00,060 --> 00:36:03,930 விஷயங்கள் உண்மையில் அது தொடர்ந்து எல்லாம் கீழே சாதனம் என்று மெதுவாக போகிறது. 466 00:36:03,930 --> 00:36:07,320 உங்களுக்கு தெரியும், 1 மாற்றம், 1 1, மாற்றம் மூலம், 1 மாற்றத்தை மாற்ற. 467 00:36:07,320 --> 00:36:13,650 அது உண்மையில் ஒரு சுட்டிக்காட்டி இல்லை என்றாலும், அதற்கு பதிலாக, நாம் இந்த தலை பயன்படுத்த, அதை ஒரு "சுட்டிக்காட்டி" அழைப்பு 468 00:36:13,650 --> 00:36:16,430 கடுமையான அர்த்தத்தில் இது ஒரு சுட்டிக்காட்டி வகை அல்ல. 469 00:36:16,430 --> 00:36:19,410 அது ஒரு முழு எண்ணாக * அல்லது ஒரு எரிப்பதை * அல்லது அப்படி எதுவும் இல்லை. 470 00:36:19,410 --> 00:36:28,930 ஆனால் அதை சுட்டி அல்லது எங்கள் வரிசை தலைவர் குறிக்கும். அப்படியா? 471 00:36:28,930 --> 00:36:38,800 >> [மாணவர்] தான் தலைமை என்ன ஆஃப் எடுக்க எப்படி dequeue தெரியும்? 472 00:36:38,800 --> 00:36:43,620 [Hardison] எப்படி dequeue தலைவராக தான் என்ன ஆஃப் எடுக்க எப்படி தெரியும்? >> வலது, yeah. 473 00:36:43,620 --> 00:36:49,050 >> என்ன அதை பார்த்து தான் அமைக்கப்பட்டால் தான் என்ன தலை துறை ஆகும். 474 00:36:49,050 --> 00:36:52,710 நாம் இங்கே இருக்கும் இந்த முதல் வழக்கில், என்றால், 475 00:36:52,710 --> 00:36:55,690 எங்கள் தலைவர் 0, குறியீட்டு 0 ஆகும். >> வலது. 476 00:36:55,690 --> 00:37:00,500 [Hardison], அது சரியா, நன்றாக, குறியீட்டு 0 உறுப்பு, சரம் "ஹாய்" என்கிறார் எனவே 477 00:37:00,500 --> 00:37:03,050 எங்கள் வரிசை தலைமை உறுப்பு ஆகும். 478 00:37:03,050 --> 00:37:05,570 எனவே நாம் அந்த பையன் dequeue போகிறோம். 479 00:37:05,570 --> 00:37:09,800 என்று அழைப்பாளர் திரும்பி விடும் என்று உறுப்பு இருக்கும். 480 00:37:09,800 --> 00:37:14,540 ஆமாம், Saad? >> எனவே தலை அடிப்படையில் அமைக்க - நீங்கள் குறியீட்டு அதை போகிறோம் எங்கே? 481 00:37:14,540 --> 00:37:17,750 அது தொடக்கத்தில் தான்? >> சரி. சரி >>. 482 00:37:17,750 --> 00:37:22,900 [Hardison] எங்கள் அணியின் புதிய தொடக்கத்தை வருகிறது என்று. 483 00:37:22,900 --> 00:37:28,930 எனவே நீங்கள் ஏதோ dequeue போது, நீங்கள் செய்ய வேண்டியது எல்லாம், குறியீட்டு q.head உள்ள உறுப்பு அணுக உள்ளது 484 00:37:28,930 --> 00:37:32,240 என்று நீங்கள் dequeue வேண்டும் என்று உறுப்பு இருக்கும். 485 00:37:32,240 --> 00:37:34,930 நீங்கள் அளவை குறைத்தல் வேண்டும். 486 00:37:34,930 --> 00:37:39,430 எல்லாம் இந்த ஒரு சிறிய தந்திரமான இங்கு நாம் ஒரு பிட் ல் பார்க்கலாம். 487 00:37:39,430 --> 00:37:46,520 நாங்கள் மீண்டும் என்கியூ நாம், இப்போது dequeue, மற்றும் 488 00:37:46,520 --> 00:37:51,300 நாம் எங்கே என்கியூ? 489 00:37:51,300 --> 00:37:55,000 எங்கே அடுத்த உறுப்பு எங்கள் வரிசையில் போய் கொண்டிருக்கிறது? 490 00:37:55,000 --> 00:37:57,980 நாம் சரம் "CS" என்கியூ வேண்டும் என்று. 491 00:37:57,980 --> 00:38:02,240 அது குறியீட்டு போகும்? [மாணவர்கள்] சரங்கள் [2]. >> இரண்டு. 492 00:38:02,240 --> 00:38:04,980 ஏன் 2 மற்றும் 0? 493 00:38:04,980 --> 00:38:13,570 [பசில்] இப்போது தலை 1 ஏனென்றால், பட்டியல் தொடக்கத்தில் போன்ற அதனால்? 494 00:38:13,570 --> 00:38:21,220 [Hardison] ரைட். என்ன பட்டியலை இறுதி குறிக்கிறது? 495 00:38:21,220 --> 00:38:23,290 நாம் வரிசை இறுதியில் குறிக்க என்ன பயன்படுத்தி? 496 00:38:23,290 --> 00:38:25,970 தலைவர் நம் வரிசை தலைவர், எங்கள் வரிசை ஆரம்பம். 497 00:38:25,970 --> 00:38:29,530 எங்கள் வரிசை முடிவில் என்ன ஆகும்? [மாணவர்கள்] அளவு. >> அளவு, சரியாக. 498 00:38:29,530 --> 00:38:36,360 நமது புதிய உறுப்புகள் அளவில் சென்று, நாம் எடுத்து கூறுகள் ஆஃப் தலைவராக இருந்து வரும். 499 00:38:36,360 --> 00:38:45,390 அடுத்த உறுப்பு என்கியூ போது, நாங்கள் அளவில் அதை வைத்து. 500 00:38:45,390 --> 00:38:48,530 [மாணவர்] முன் நீங்கள் என்றாலும் இல், அளவு சரியாக, 1 என்று வைத்து? 501 00:38:48,530 --> 00:38:55,690 [Hardison] ரைட். அப்படி இல்லை மிகவும் அளவில். அளவு + +1 செய்ய, ஆனால் + தலைவர். 502 00:38:55,690 --> 00:38:59,990 நாம் தலை அளவு எல்லாவற்றையும் மாற்றம் காரணமாக. 503 00:38:59,990 --> 00:39:14,270 இங்கு, இப்போது நாம் குறியீட்டு 1 மணிக்கு தொடங்குகிறது அந்த அளவு 1 வரிசையில் கிடைத்துவிட்டது. 504 00:39:14,270 --> 00:39:20,730 வால் குறியீட்டு 2. ஆமாம்? 505 00:39:20,730 --> 00:39:25,780 >> [மாணவர்] என்ன நடக்கும் போது நினைவகத்தில் நீங்கள் dequeue சரங்களை [0], மற்றும் சரங்களை 'இடங்கள் 506 00:39:25,780 --> 00:39:29,420 நான் அடிப்படையில், காலி செய்து, அல்லது மறந்து? 507 00:39:29,420 --> 00:39:34,700 [Hardison] சரி. இந்த அர்த்தத்தில், நாம் அவர்களை மறந்து. 508 00:39:34,700 --> 00:39:42,640 நாம் அவர்களை பிரதிகளை சேமித்து இருந்தால் - 509 00:39:42,640 --> 00:39:46,310 பல தரவு கட்டமைப்புகள் பெரும்பாலும் உறுப்புகள் தங்கள் பிரதிகளை சேமிக்கும் 510 00:39:46,310 --> 00:39:51,760 தரவு கட்டமைப்பு மேலாண்மை நபர் கவலைப்பட இல்லை என்று 511 00:39:51,760 --> 00:39:53,650 அந்த சுட்டிகள் எங்கே போகிறோம் பற்றி. 512 00:39:53,650 --> 00:39:56,000 தரவு அமைப்பு அனைத்தையும் மீது வைத்திருக்கும், அனைத்து பிரதிகள் மீது வைத்திருக்கும் 513 00:39:56,000 --> 00:39:59,580 எல்லாம் சரியான தொடர்ந்தால் என்பதை உறுதி செய்ய. 514 00:39:59,580 --> 00:40:03,140 எனினும், இந்த விஷயத்தில், இந்த தரவு கட்டமைப்புகள் தான், எளிமை வேண்டும், 515 00:40:03,140 --> 00:40:05,580 நாம் அவர்களை சேமித்து என்று எதுவும் பிரதிகளை உருவாக்கும். 516 00:40:05,580 --> 00:40:08,630 [மாணவர்] இந்த ஒரு தொடர் வரிசை உள்ளது -? >> ஆமாம். 517 00:40:08,630 --> 00:40:14,350 நாம் வரையறை இந்த அமைப்பு என்ன வந்து பார் என்றால், அது. 518 00:40:14,350 --> 00:40:19,110 அது, நீங்கள் பார்த்த மாதிரி ஒரு நிலையான வரிசை தான் 519 00:40:19,110 --> 00:40:24,280 கரி * கள் ஒரு வரிசை. 520 00:40:24,280 --> 00:40:26,340 அப்படி -? >> ஆமாம், நான் யோசித்தேன் 521 00:40:26,340 --> 00:40:29,130 நீங்கள் இறுதியில் ஒரு குறிப்பிட்ட அளவிற்கு, நினைவகம் ரன் அவுட், நான் என்றால் 522 00:40:29,130 --> 00:40:32,330 உங்கள் வரிசையில் இந்த வெற்று புள்ளிகள் இருந்தால்? 523 00:40:32,330 --> 00:40:36,390 [Hardison] சரி, ஒரு நல்ல விஷயம். 524 00:40:36,390 --> 00:40:41,530 >> நாம் இந்த இடத்தில் இப்போது என்ன ஆயிற்று ஆனால், நீங்கள் 525 00:40:41,530 --> 00:40:46,350 நாம் வரிசை வரை பூர்த்தி செய்து, அதை போல. 526 00:40:46,350 --> 00:40:50,390 ஆனால் உண்மையில் நம் வரிசை பூர்த்தி செய்யப்பட்ட இல்லை 527 00:40:50,390 --> 00:40:57,710 நாம் அளவு 2 என்று ஒரு வரிசை உள்ளது, ஆனால் அதை குறியீட்டு 1 தொடங்குகிறது ஏனெனில், 528 00:40:57,710 --> 00:41:02,160 எங்கள் தலைவர் சுட்டிக்காட்டி எங்கே என்று தான். 529 00:41:02,160 --> 00:41:08,400 நீ சொல்வதை போல, அந்த சரங்களை உள்ள உறுப்பு [0], குறியீட்டு 0, உண்மையில் இல்லை. 530 00:41:08,400 --> 00:41:10,450 இது இனி நம் வரிசையில் இல்லை. 531 00:41:10,450 --> 00:41:16,460 நாம் சென்று நாம் dequeued போது அதை மேலெழுத கவலைப்படவில்லை. 532 00:41:16,460 --> 00:41:18,700 எனவே நினைவகத்தை ரன் அவுட் போல் தெரிகிறது கூட, நாம் உண்மையில் இல்லை. 533 00:41:18,700 --> 00:41:23,270 நாம் பயன்படுத்த வேண்டும் என்று இடத்தில் உள்ளது. 534 00:41:23,270 --> 00:41:29,310 சரியான நடத்தை, நாம் dequeue ஏதாவது முயற்சி மற்றும் முதல் என்றால் 535 00:41:29,310 --> 00:41:34,420 பாய் ஆஃப் பாப் என்று, "பை" போன்ற. 536 00:41:34,420 --> 00:41:38,460 இப்போது எங்கள் வரிசை அட்டவணை 2 மணிக்கு தொடங்குகிறது அளவு 1 ஆகும். 537 00:41:38,460 --> 00:41:42,240 நாம் மீண்டும் ஏதாவது முயற்சி மற்றும் என்கியூ என்றால், இப்போது, 50 என்று 538 00:41:42,240 --> 00:41:47,880 50 குறியீட்டெண் 0 இந்த இடத்தில் போக வேண்டும் 539 00:41:47,880 --> 00:41:51,270 அது இன்னும் நமக்கு கிடைக்க காரணம். ஆமாம், Saad? 540 00:41:51,270 --> 00:41:53,630 [Saad] என்று தானாக நடக்கும்? 541 00:41:53,630 --> 00:41:56,150 [Hardison] இது தானாக நடக்காது. நீங்கள் கணித செய்ய வேண்டும் 542 00:41:56,150 --> 00:42:00,380 இது வேலை செய்ய, ஆனால் அடிப்படையில் என்ன செய்தோம் நாம் தான் சுற்றப்பட்டுள்ள விட்டேன் என்று. 543 00:42:00,380 --> 00:42:04,070 இது நடுவில் ஒரு ஓட்டை இருந்தால் [Saad] இது சரியா? 544 00:42:04,070 --> 00:42:08,720 [Hardison] நாம் கணித ஒழுங்காக வேலை செய்ய முடியும் என்றால் இது. 545 00:42:08,720 --> 00:42:15,470 >> மற்றும் அது உண்மையில் மோட் ஆபரேட்டர் செய்ய வேண்டும் என்று கடுமையாக இல்லை என்று கூறினார். 546 00:42:15,470 --> 00:42:20,040 எனவே போல் நாம், சீசர் மற்றும் crypto பொருள் செய்தாள் 547 00:42:20,040 --> 00:42:25,190 மோட் பயன்படுத்தி, நாம் விஷயங்களை சுற்றி பெற போகும் முடியும் 548 00:42:25,190 --> 00:42:28,090 எங்கள் வரிசை சுற்றி சுற்றி சுற்றி கொண்டு, 549 00:42:28,090 --> 00:42:32,180 என்று தலையில் சுட்டிக்காட்டி சுற்றி நகரும் வைத்து. 550 00:42:32,180 --> 00:42:38,840 அந்த அளவு கவனிக்க எப்போதும் வரிசையில் உள்ள உண்மையில் கூறுகள் எண்ணிக்கை மரியாதை. 551 00:42:38,840 --> 00:42:43,110 மற்றும் அது வழியாக சைக்கிள் வைத்திருப்பார் என்று தலைவர் சுட்டிக்காட்டி இருக்கிறார். 552 00:42:43,110 --> 00:42:49,660 நாம் தொடக்கத்தில் மீண்டும் சென்றால், இங்கு என்ன நடந்தது, பார் என்றால் 553 00:42:49,660 --> 00:42:55,020 மற்றும் நீ தலையில் என்ன இருக்கு 554 00:42:55,020 --> 00:42:58,240 நாம் ஏதாவது என்கியூ போது, எதுவும் தலைவர் நடந்தது. 555 00:42:58,240 --> 00:43:00,970 நாம் வேறு ஏதாவது வரிசைப்படுத்தப்படவில்லை போது, எதுவும் தலைவர் நடந்தது. 556 00:43:00,970 --> 00:43:04,130 நாம் ஏதாவது dequeued விரைவில், தலையை ஒரு மூலம் செல்கிறது. 557 00:43:04,130 --> 00:43:06,600 நாம் ஏதாவது வரிசைப்படுத்தப்படவில்லை, எதுவும் தலையில் நடக்கிறது. 558 00:43:06,600 --> 00:43:11,060 நாம் ஏதாவது dequeue போது, திடீரென்று தலை incremented. 559 00:43:11,060 --> 00:43:14,660 நாம் ஏதாவது என்கியூ போது, எதுவும் தலையில் நடக்கிறது. 560 00:43:14,660 --> 00:43:20,240 >> நாம் மீண்டும் ஏதாவது dequeue என்றால் என்ன இந்த கட்டத்தில் நடக்கும்? 561 00:43:20,240 --> 00:43:23,240 எந்த எண்ணங்கள்? என்ன தலையில் நடக்கும்? 562 00:43:23,240 --> 00:43:27,190 தலையில் என்ன நடக்க வேண்டும் 563 00:43:27,190 --> 00:43:32,990 நாம் வேறு ஏதாவது dequeue என்றால்? 564 00:43:32,990 --> 00:43:35,400 தலைவர் இப்போது, குறியீட்டு 2 உள்ளது 565 00:43:35,400 --> 00:43:38,920 இதில் வரிசை தலைவர் சரங்களை [2] என்று பொருள். 566 00:43:38,920 --> 00:43:44,280 [மாணவர்] 0 கொடுக்கிறது எது? >> இது 0 திரும்ப வேண்டும். அதை சரியாக, சுற்றி மீண்டும் மடிக்க வேண்டும். 567 00:43:44,280 --> 00:43:48,440 இதுவரை, நாம் dequeue என்று ஒவ்வொரு முறையும், நாம், தலையில் ஒரு சேர்ப்பதன் 568 00:43:48,440 --> 00:43:50,960 தலையில் ஒரு சேர்க்க, தலையில் ஒரு சேர்க்க, தலையில் ஒரு சேர்க்க. 569 00:43:50,960 --> 00:43:58,400 என்று தலையில் சுட்டிக்காட்டி நமது அணி கடந்த குறியீட்டு கிடைத்தால், விரைவில் 570 00:43:58,400 --> 00:44:05,650 நாம் துவக்கத்தில் சுற்றி திரும்பி மடிக்க வேண்டும், 0 செல்ல. 571 00:44:05,650 --> 00:44:09,900 [சார்லோட்] என்ன ஒரு அடுக்கில் வரிசை திறன் தீர்மானிக்கிறது? 572 00:44:09,900 --> 00:44:13,120 [Hardison] இந்த வழக்கில், நாம் ஒரு # வரையறுக்கப்பட்ட நிலையான பயன்படுத்தி. சரி >>. 573 00:44:13,120 --> 00:44:19,590 [Hardison] உண்மையான. கேட்ச் கோப்பு, நீங்கள் ஒரு சிறிய பிட் மற்றும் அழுக்கு போக முடியும் 574 00:44:19,590 --> 00:44:21,710 அது பெரிய அல்லது நீங்கள் விரும்பினால் போன்ற சிறிய செய்து. 575 00:44:21,710 --> 00:44:25,310 [சார்லோட்] எனவே நீங்கள் வரிசையில் செய்யும் போது, நீங்கள் கணினி என்று எப்படி செய்கிறீர்கள் 576 00:44:25,310 --> 00:44:29,120 நீங்கள் ஸ்டேக் வேண்டும் எப்படி பெரிய? 577 00:44:29,120 --> 00:44:31,700 [Hardison] அது ஒரு பெரிய கேள்வி. 578 00:44:31,700 --> 00:44:34,800 வழிகளில் இரண்டு உள்ளன. ஒரு சில முன் அதை வரையறை உள்ளது 579 00:44:34,800 --> 00:44:42,050 இந்த சொல்ல 4 உறுப்புகள் அல்லது 50 உறுப்புகள் அல்லது 10,000 என்று ஒரு வரிசை இருக்கும். 580 00:44:42,050 --> 00:44:45,430 வேறு வழி ஹேக்கர் பதிப்பு எல்லோரும் செய்கிறார்கள் என்ன செய்ய வேண்டும் 581 00:44:45,430 --> 00:44:52,310 மேலும் பொருட்களை உள்ளே சேர்க்கப்படும் உங்கள் வரிசை மாறும் வளர வேண்டும் செயல்பாடுகளை உருவாக்க 582 00:44:52,310 --> 00:44:54,740 >> [சார்லோட்] எனவே முதல் விருப்பத்தை செல்ல, நீங்கள் என்ன இலக்கணத்தை பயன்படுத்தும் 583 00:44:54,740 --> 00:44:57,830 நிரல் சொல்ல வரிசை அளவு என்ன? 584 00:44:57,830 --> 00:45:04,780 [Hardison] ஆ. எனவே இந்த வெளியே விடுங்கள். 585 00:45:04,780 --> 00:45:12,650 நான் இங்கே stack.c இன்னும் இருக்கிறேன், அதனால் நான் இங்கே மேலே மேலே போகிறேன். 586 00:45:12,650 --> 00:45:17,920 நீங்கள் இந்த உரிமையை இங்கு காண முடியும்? இந்த # கொள்ளளவு 10 வரையறை உள்ளது. 587 00:45:17,920 --> 00:45:24,600 இந்த நாங்கள் வரிசைக்கும் வேண்டும் என்று கிட்டத்தட்ட அதே இலக்கணத்தை உள்ளது. 588 00:45:24,600 --> 00:45:28,390 வரிசையில் தவிர, நாம் இங்கே அந்த கூடுதல் struct துறையில் கிடைத்துவிட்டது. 589 00:45:28,390 --> 00:45:32,760 [சார்லோட்] ஓ, நான் திறன் சரம் திறன் பொருள் என்று. 590 00:45:32,760 --> 00:45:36,770 [Hardison] ஆ. இது வார்த்தை அதிகபட்ச நீளம் தான் >>. >> புரிந்தது. 591 00:45:36,770 --> 00:45:41,180 Yeah. இங்கே திறன் - அந்த ஒரு பெரிய விஷயம். 592 00:45:41,180 --> 00:45:44,000 இந்த தந்திரமான என்று ஒன்று உள்ளது 593 00:45:44,000 --> 00:45:49,480 நாம் இங்கே அறிவித்தார் நான் எரிப்பதை * கள் ஒரு வரிசைக்கு காரணம். 594 00:45:49,480 --> 00:45:52,770 சுட்டிகள் ஒரு வரிசை. 595 00:45:52,770 --> 00:45:56,690 இந்த எழுத்துகள் ஒரு வரிசை ஆகும். 596 00:45:56,690 --> 00:46:01,690 இந்த கோப்பு உங்கள் ஃப்பர் அறிவித்தார் வருகிறோம் போது பார்த்ததை ஒருவேளை நான் / ஓ, 597 00:46:01,690 --> 00:46:06,840 நீங்கள் ஸ்டேக்கில் கைமுறையாக சரங்களை உருவாக்கும் போது. 598 00:46:06,840 --> 00:46:09,090 எனினும், நாம் இங்கே கிடைத்துவிட்டது எரிப்பதை * கள் ஒரு வரிசை ஆகும். 599 00:46:09,090 --> 00:46:13,400 அது சுட்டிகள் ஒரு வரிசை தான். 600 00:46:13,400 --> 00:46:18,350 உண்மையில், நாங்கள் மீண்டும் அவுட் பெரிதாக்கவும் மற்றும் நாம் இங்கு என்ன நடக்கிறது என்று பாருங்கள் என்று 601 00:46:18,350 --> 00:46:23,140 விளக்கக்காட்சியில், நீங்கள் உண்மையான கூறுகள், பாத்திரம் தரவு பார்க்க 602 00:46:23,140 --> 00:46:26,180 வரிசை உள்ளேயே சேமிக்கப்படும். 603 00:46:26,180 --> 00:46:42,690 என்ன இங்கே எங்கள் அணி உள்ள சேமித்த தன்மையை தரவு குறிப்புகள் உள்ளன. 604 00:46:42,690 --> 00:46:52,560 சரி. எனவே, வரிசை அளவு வெறும் அடுக்கு கொண்ட போன்ற எப்படி நான் பார்த்திருக்கிறேன் 605 00:46:52,560 --> 00:46:58,670 அளவு எப்போதும் வரிசையில் தற்போது கூறுகள் எண்ணிக்கை மதிக்கிறது. 606 00:46:58,670 --> 00:47:02,720 2 enqueues பின், அளவு 2. 607 00:47:02,720 --> 00:47:07,110 ஒரு dequeue பின் அளவு இப்போது 1. 608 00:47:07,110 --> 00:47:09,330 மற்றொரு என்கியூ பின் அளவு 2 வரை மீண்டும். 609 00:47:09,330 --> 00:47:12,340 எனவே அளவு நிச்சயமாக, வரிசையில் உறுப்புகள் எண்ணிக்கை மதிக்கிறது 610 00:47:12,340 --> 00:47:15,580 பின்னர் தலையை மட்டும் சைக்கிள் வைத்திருக்கிறது. 611 00:47:15,580 --> 00:47:20,210 இது 0-1-2, 0-1-2, 0-1-2 இருந்து செல்லும். 612 00:47:20,210 --> 00:47:25,620 நாம் dequeue என்று ஒவ்வொரு முறையும், தலைவர் சுட்டிக்காட்டி அடுத்த அட்டவணைக்கு incremented. 613 00:47:25,620 --> 00:47:29,930 தலைக்கு மேல் செல்ல பற்றி இருந்தால், அது மீண்டும் சுற்றி 0 சுழற்சிகளும். 614 00:47:29,930 --> 00:47:34,870 அதனால் உடன், நாங்கள் dequeue செயல்பாடு எழுத முடியும். 615 00:47:34,870 --> 00:47:40,200 நாங்கள் உங்களுக்கு பதிலாக செயல்படுத்த வேண்டும் என்கியூ செயல்பாடு விட்டு செல்கிறோம். 616 00:47:40,200 --> 00:47:45,880 >> நாம் வரிசையில் ஒரு உறுப்பு அவுட் dequeue போது, 617 00:47:45,880 --> 00:47:55,490 நாம் அடுக்குகள் பாப் செயல்பாடு எழுத தொடங்கிய போது டேனியல் என்று முதல் விஷயம் என்ன? 618 00:47:55,490 --> 00:48:00,490 எனக்கு இன்னும் பேசவில்லை யார் யாரோ இருந்து கேட்கிறேன். 619 00:48:00,490 --> 00:48:06,710 , தான் பார்க்க Saad விட, நீங்கள் டேனியல் அவர் பாப் எழுதிய போது முதல் விஷயம் என்று என்ன நினைவிருக்கிறதா? 620 00:48:06,710 --> 00:48:08,860 [Saad], அது அங்கே இருந்தது - அவர் ஏதோ சோதனை >>. 621 00:48:08,860 --> 00:48:12,140 [Saad] அளவு 0 அதிகமாக இருந்தால். சரியாக >>. 622 00:48:12,140 --> 00:48:14,390 மற்றும் அந்த சோதனை என்ன? 623 00:48:14,390 --> 00:48:19,090 [Saad] வரிசை உள்ளே எதுவும் இல்லை என்பதை சோதனை இருந்தது. 624 00:48:19,090 --> 00:48:23,210 [Hardison] சரி. சரியாக. அது காலியாக இருந்தால், அதனால் நீங்கள் ஸ்டேக் வெளியே எதையும் பாப் முடியாது. 625 00:48:23,210 --> 00:48:26,510 அது காலியாக இருந்தால் அதேபோல், நீங்கள் ஒரு வரிசையில் இருந்து எதையும் dequeue முடியாது. 626 00:48:26,510 --> 00:48:30,420 நாம் இங்கே நம் dequeue விழாவில் செய்ய வேண்டும் முதல் விஷயம், அது என்ன, நீங்கள் நினைக்கிறீர்கள்? 627 00:48:30,420 --> 00:48:33,860 [Saad] அளவு 0 அதிகமாக இருந்தால்? >> சரி. 628 00:48:33,860 --> 00:48:37,710 இந்த வழக்கில், நான் உண்மையில் அதை 0 என்று பார்க்க சோதனை. 629 00:48:37,710 --> 00:48:42,240 அது 0 இருந்தால், நாம் பூஜ்ஜிய திரும்ப முடியும். 630 00:48:42,240 --> 00:48:45,280 ஆனால் அதே தர்க்கம். 631 00:48:45,280 --> 00:48:49,110 மற்றும் இந்த தொடர அனுமதிக்க. 632 00:48:49,110 --> 00:48:54,600 அளவு 0 என்றால், நாம் dequeue வேண்டும் என்று உறுப்பு எங்கே? 633 00:48:54,600 --> 00:48:58,550 [Saad] தலைவர் நேரத்தில்? சரியாக >>. 634 00:48:58,550 --> 00:49:01,720 நாம் நமது வரிசையில் முதல் உறுப்பு வெளியே இழுக்க முடியாது 635 00:49:01,720 --> 00:49:07,040 தலைமை உறுப்பு அணுகி. 636 00:49:07,040 --> 00:49:14,630 பைத்தியம் இல்லை. 637 00:49:14,630 --> 00:49:19,620 பின்னர், நாங்கள் என்ன செய்ய வேண்டும்? என்ன நடக்க வேண்டும்? 638 00:49:19,620 --> 00:49:23,740 நாம் dequeue பேசப்படுவோம் மற்ற விஷயம் என்ன? 639 00:49:23,740 --> 00:49:28,130 எங்கள் வரிசை மாற்றப்பட்டது ஏனெனில் இரண்டு விஷயங்கள், நடக்க வேண்டும். 640 00:49:28,130 --> 00:49:35,640 [டேனியல்] அளவை குறைக்கவும். >> நாம் அளவு குறைக்க, மற்றும் தலைமை அதிகரிக்க வேண்டும்? சரியாக. 641 00:49:35,640 --> 00:49:40,600 தலைவர் அதிகரிக்க, நாம் மட்டும் கண்மூடித்தனமாக நினைவில், தலைவர் அதிகரிக்க முடியாது. 642 00:49:40,600 --> 00:49:45,080 நாம் queue.head செய்ய முடியாது +. 643 00:49:45,080 --> 00:49:51,630 நாங்கள் திறன் இந்த மோட் சேர்க்க வேண்டும். 644 00:49:51,630 --> 00:49:54,740 மற்றும் நாம் ஏன், திறன் ஸ்டெல்லா mod? 645 00:49:54,740 --> 00:49:58,680 [ஸ்டெல்லா] அதை சுற்றி ஏனென்றால். சரியாக >>. 646 00:49:58,680 --> 00:50:04,750 திறன் மூலம் நாம் மோட் அதை 0 என சுற்றி திரும்பி மடிக்க வேண்டும், ஏனெனில். 647 00:50:04,750 --> 00:50:07,400 அதனால் இப்போது, இந்த நேரத்தில், நாம் டேனியல் கூறினார் என்ன செய்ய முடியும். 648 00:50:07,400 --> 00:50:12,700 நாம் அளவு குறைத்தல் முடியும். 649 00:50:12,700 --> 00:50:29,170 மற்றும் நாம் இப்போது வரிசை மேல் என்று உறுப்பு திரும்ப முடியும். 650 00:50:29,170 --> 00:50:34,000 அதை முதலில் gnarly வகையான தெரிகிறது. நீங்கள் ஒரு கேள்வியை வேண்டும். மன்னிக்கவும்? 651 00:50:34,000 --> 00:50:37,260 >> [சாம்] ஏன் வரிசை மேலே முதல் தான்? என்று எங்கே போய் கொண்டிருக்கிறது? 652 00:50:37,260 --> 00:50:42,480 [Hardison] அது கீழே இருந்து நான்காவது வரிசையில் இருந்து வருகிறது. 653 00:50:42,480 --> 00:50:46,060 நாம் வரிசை, காலியாக இல்லை என்பதை உறுதி செய்ய சோதிக்க பிறகு 654 00:50:46,060 --> 00:50:54,100 நாம் முதல் எரிப்பதை * வெளியே இழுக்க, நாங்கள் தலை குறியீட்டு உட்கார்ந்து அந்த உறுப்பு வெளியே இழுக்க 655 00:50:54,100 --> 00:50:58,680 எங்கள் வரிசைக்கு, எங்கள் சரங்களை வரிசை, >> மற்றும் அழைப்பு என்று முதலில்? 656 00:50:58,680 --> 00:51:04,500 [Hardison] நாம் அது முதல் அழைப்பு. Yeah. 657 00:51:04,500 --> 00:51:09,850 அந்த அடிப்படையில் தொடர்ந்து, ஏன் நாம் அதை செய்ய வேண்டும் என்று நீங்கள் நினைக்கிறீர்கள்? 658 00:51:09,850 --> 00:51:18,270 [சாம்] ஒவ்வொரு முதல் ஒரு q.strings திரும்பி வருகிறார் [q.head]? >> சரி. 659 00:51:18,270 --> 00:51:23,830 >> நாம் மோட் செயல்பாடு q.head இந்த மாறிவரும் செய்கிறீர்கள் ஏனெனில், 660 00:51:23,830 --> 00:51:27,810 மேலும் திரும்ப வரி அந்த செய்ய வழி இல்லை. 661 00:51:27,810 --> 00:51:31,640 [Hardison] சரியாக. நீங்கள் இடத்தில் இருக்கிறோம். சாம் முற்றிலும் மீது சிற்பமா. 662 00:51:31,640 --> 00:51:36,800 நாம் வரிசையில் முதல் உறுப்பு வெளியே ஒரு மாறி அதை சேமிக்க வேண்டியதாயிருந்தது 663 00:51:36,800 --> 00:51:43,030 நாம் இந்த வரியை q.head இருந்த காரணத்தால், தான் 664 00:51:43,030 --> 00:51:47,030 அங்கு மோட் ஆபரேட்டர் நாம் என்ன செய்ய முடியும் என்று ஏதோ இல்லை 665 00:51:47,030 --> 00:51:51,230 அது இல்லாமல் தலையில் அமலுக்கு - ஒரு வரியில். 666 00:51:51,230 --> 00:51:54,480 நாம் உண்மையில் முதல் உறுப்பு வெளியே இழுக்க வேண்டும் என்று, பிறகு, தலையை சரி 667 00:51:54,480 --> 00:52:00,430 அளவு சரி, பின்னர் நாம் வெளியே என்று உறுப்பு திருப்பி. 668 00:52:00,430 --> 00:52:02,680 இந்த நாங்கள் பின்னர் கொண்டு வந்து பார்க்கிறேன் என்று ஒன்று உள்ளது 669 00:52:02,680 --> 00:52:04,920 இணைக்கப்பட்ட பட்டியல்கள், நாம் அவர்களை சுற்றி விளையாட வேண்டும். 670 00:52:04,920 --> 00:52:08,410 நீங்கள் இணைக்கப்பட்ட பட்டியல்களில் பெறலாம் அல்லது அப்புறப்படுத்துகிறது அடிக்கடி போது 671 00:52:08,410 --> 00:52:13,500 அடுத்த உறுப்பு, ஒரு இணைக்கப்பட்ட பட்டியலில் அடுத்த சுட்டிக்காட்டி நினைவில் கொள்ள வேண்டும் 672 00:52:13,500 --> 00:52:16,330 தற்போதைய ஒரு அப்புறப்படுத்துகிறது முன். 673 00:52:16,330 --> 00:52:23,580 ஏனெனில் மற்றபடி நீங்கள் பட்டியலில் விட்டு என்ன தகவல் எறியுங்கள். 674 00:52:23,580 --> 00:52:34,160 உங்கள் பயன்பாட்டிற்கான போனால் இப்போது, நீங்கள் இந்த queue.c-x அவுட் திறக்க. 675 00:52:34,160 --> 00:52:39,390 நான் queue.c திறந்து என்றால், இங்கே என்னை ஜூம் செய்யலாம் 676 00:52:39,390 --> 00:52:44,970 நீங்கள் ஒரு அதனையொத்த கோப்பு என்று பார்க்கலாம். 677 00:52:44,970 --> 00:52:49,200 நாம் stack.c மூலம் முந்தைய என்ன செய்ய அதனையொத்த கோப்பு. 678 00:52:49,200 --> 00:52:54,690 நாம் ஸ்லைடுகள் பார்த்தேன் என்று தான் வரையறுக்கப்பட்டுள்ளது வரிசைக்கும் எங்கள் struct கிடைத்துவிட்டது. 679 00:52:54,690 --> 00:52:59,870 >> நீங்கள் செய்ய இது எங்கள் என்கியூ செயல்பாடு உள்ளது. 680 00:52:59,870 --> 00:53:04,340 நாம் இங்கே dequeue செயல்பாடு உள்ளது. 681 00:53:04,340 --> 00:53:06,870 கோப்பில் dequeue செயல்பாடு unimplemented, 682 00:53:06,870 --> 00:53:13,230 நீங்கள் விரும்பினால் நீங்கள், அதை தட்டச்சு செய்யலாம் என்று ஆனால் நான் பவர்பாயிண்ட் மீண்டும் அதை போடுகிறேன். 683 00:53:13,230 --> 00:53:16,690 எனவே அடுத்த 5 நிமிடங்கள் அல்லது ஐந்து, நீங்கள் என்கியூ வேலை 684 00:53:16,690 --> 00:53:22,570 இது கிட்டத்தட்ட ஒரு dequeue எதிராக உள்ளது. 685 00:53:22,570 --> 00:53:29,560 நீங்கள் enqueueing போது தலையை சரி இல்லை, ஆனால் நீங்கள் என்ன சரி செய்ய வேண்டும்? 686 00:53:29,560 --> 00:53:38,920 அளவு. எனவே நீங்கள் என்கியூ, தலைவர் தீண்டப்படாத இருக்கும் போது, அளவு மாற்றப்பட்டது. 687 00:53:38,920 --> 00:53:46,920 ஆனால் அது சிறிது எடுக்கிறது - நீங்கள் மோட் சுற்றி விளையாட வேண்டும் 688 00:53:46,920 --> 00:53:57,560 புதிய உறுப்பு உள்ளிடப்பட வேண்டும் என்ன குறியீட்டு சரியாக கண்டுபிடிக்க. 689 00:53:57,560 --> 00:54:03,080 அதனால் நான் உங்களுக்கு கொஞ்சம் தருகிறேன்,, ஸ்லைடு மீண்டும் dequeue வைத்து 690 00:54:03,080 --> 00:54:05,200 மற்றும் உங்களுக்கு கேள்விகள் என, அதனால் நாம் அவர்களை வெளியே சத்தம் 691 00:54:05,200 --> 00:54:09,220 ஒரு குழுவாக அவர்கள் பற்றி பேச்சு. 692 00:54:09,220 --> 00:54:13,960 மேலும், நீங்கள் don't அளவு - நீங்கள் அளவு சரி போது, நீங்கள் எப்போதும் தான் முடியும் - 693 00:54:13,960 --> 00:54:18,720 நீங்கள் எப்போதும் அளவு mod வேண்டும்? [டேனியல்] இல்லை >> நீங்கள், அளவு mod உரிமை இல்லை. 694 00:54:18,720 --> 00:54:24,260 You're ஏனென்றால் அளவு எப்போதும், - அனுமானித்து நீங்கள், சரியான விஷயங்களை மேலாண்மை 695 00:54:24,260 --> 00:54:30,840 அளவு எப்போதும் 0 மற்றும் 3 இடையே இருக்கும். 696 00:54:30,840 --> 00:54:38,680 எங்கே நீங்கள் என்கியூ செய்கிறீர்கள் போது mod வேண்டும்? 697 00:54:38,680 --> 00:54:41,060 மட்டும் தலையை [மாணவர்]. தான் தலைவர் >>, சரியாக. 698 00:54:41,060 --> 00:54:44,620 ஏன் நீங்கள் என்கியூ உள்ள அனைத்து mod வேண்டும்? 699 00:54:44,620 --> 00:54:48,830 நீங்கள் மோட் வேண்டும் என்று ஒரு சூழ்நிலை இருக்கிறது? 700 00:54:48,830 --> 00:54:53,630 நீங்கள் இடைவெளிகள் உள்ள பொருள் இருந்தால் [மாணவர், இடைவெளிகள் 1 மற்றும் 2 பிடிக்காது 701 00:54:53,630 --> 00:54:55,950 பின்னர் நீங்கள் 0 ஏதாவது சேர்க்க வேண்டும். 702 00:54:55,950 --> 00:55:02,570 [Hardison] சரி, சரியாக. உங்கள் தலைவர் சுட்டிக்காட்டி மிகவும் இறுதியில் இருக்கும் என்றால், 703 00:55:02,570 --> 00:55:14,210 அல்லது உங்கள் அளவு மற்றும் உங்கள் தலையில் பெரிய இருந்தால், அல்லது மாறாக, வரிசை சுற்றி வருகிறது. 704 00:55:14,210 --> 00:55:17,830 >> நாம் இப்போது ஸ்லைடில் இங்கு பெற்றுவிட்டோம் என்று இந்த சூழ்நிலையில், 705 00:55:17,830 --> 00:55:24,370 நான், இப்போது ஏதாவது என்கியூ விரும்பினால் 706 00:55:24,370 --> 00:55:31,110 நாம் குறியீட்டு 0 ஏதாவது என்கியூ வேண்டும். 707 00:55:31,110 --> 00:55:35,450 நீங்கள் 50 சென்று அங்கு பார், நான் என்கியூ 50, என்று நீங்கள் 708 00:55:35,450 --> 00:55:40,840 அதை கீழே அங்கு கீழே செல்லும். அதை குறியீட்டு 0 உள்ள செல்கிறது. 709 00:55:40,840 --> 00:55:44,160 ஏற்கனவே dequeued என்று 'வணக்கம்' பதிலாக. 710 00:55:44,160 --> 00:55:46,210 [டேனியல்] நீங்கள் ஏற்கனவே dequeue என்று கவனித்து இல்லையா? 711 00:55:46,210 --> 00:55:50,550 ஏன் அதை என்கியூ தலை ஒன்றும் செய்ய? 712 00:55:50,550 --> 00:55:55,770 [Hardison] ஓ, நீ தலைமை மாற்றம் இல்லை, மன்னிக்கவும். 713 00:55:55,770 --> 00:56:02,310 ஆனால் நீங்கள் அணுகும் போது மோட் ஆபரேட்டர் பயன்படுத்த வேண்டும் 714 00:56:02,310 --> 00:56:04,250 நீங்கள் அணுகும் போது என்கியூ வேண்டும் என்று உறுப்பு 715 00:56:04,250 --> 00:56:06,960 உங்கள் வரிசையில் அடுத்த உறுப்பு. 716 00:56:06,960 --> 00:56:10,960 [பசில்] நான் செய்யவில்லை, நான் அங்கு "வெற்றி" தான். 717 00:56:10,960 --> 00:56:13,370 [டேனியல்] ஓ, நான் நீங்கள் என்ன சொல்கிறீர்கள் என்று புரியவில்லை. 718 00:56:13,370 --> 00:56:16,240 [Hardison] எனவே நீங்கள் didn't - நீங்கள் q.size உள்ள செய்தார்? 719 00:56:16,240 --> 00:56:20,670 [பசில்] சரி. நான் தரப்பும் மாறி, நான் தலை எதையும் செய்யவில்லை. 720 00:56:20,670 --> 00:56:24,300 [Hardison] நீங்கள் உண்மையில், எதுவும் இருக்க தலை மீட்டமைக்க இல்லை 721 00:56:24,300 --> 00:56:31,650 ஆனால் சரங்களை வரிசை மாற்றும் போது சுட்டு, 722 00:56:31,650 --> 00:56:39,500 நீங்கள் உண்மையில், மேலே சென்று அடுத்த உறுப்பு எங்கே கணக்கிட வேண்டும் 723 00:56:39,500 --> 00:56:44,230 ஸ்டாக் withe ஏனெனில், உங்கள் ஸ்டேக் அடுத்த உறுப்பு எப்போதும் இருந்தது 724 00:56:44,230 --> 00:56:48,740 அளவு தொடர்பான குறியீட்டு மணிக்கு. 725 00:56:48,740 --> 00:56:55,850 நாம் நம் ஸ்டேக் மிகுதி விழாவில் திரும்பி, என்றால் 726 00:56:55,850 --> 00:57:03,100 நாம் எப்போதும் சரியான குறியீட்டு அளவில் நமது புதிய உறுப்பு உள்ள கம்பியை இழுத்து விடுவதால் ஏற்படும் ஒலி முடியும். 727 00:57:03,100 --> 00:57:06,710 வரிசை கொண்ட அதேசமயம், நாங்கள் அதை செய்ய முடியாது 728 00:57:06,710 --> 00:57:10,340 இந்த நிலைமையில் என்றால், ஏனெனில், 729 00:57:10,340 --> 00:57:18,130 நாம் வரிசைப்படுத்தப்படவில்லை என்றால் 50 எங்கள் புதிய சரம் சரங்களை [1] சரியான போக வேண்டும் 730 00:57:18,130 --> 00:57:20,540 இதில் நாம் செய்ய விரும்பவில்லை. 731 00:57:20,540 --> 00:57:41,200 நாம் புதிய சரம் குறியீட்டு 0 போக வேண்டும். 732 00:57:41,200 --> 00:57:44,320 >> இல்லை யாராவது - ஆம்? [மாணவர்] நான் ஒரு கேள்வி உண்டு ஆனால் அது தொடர்பான இல்லை. 733 00:57:44,320 --> 00:57:48,160 ஒருவர் மட்டும் pred சுட்டிக்காட்டி போல அழைத்தால், அது என்ன அர்த்தம்? 734 00:57:48,160 --> 00:57:51,260 அந்த பெயர் என்ன உள்ளது? நான் ஒரு பெயர் தெரியும். 735 00:57:51,260 --> 00:57:59,110 [Hardison] Pred சுட்டிக்காட்டி? பார்க்கலாம். என்ன பின்னணியில்? 736 00:57:59,110 --> 00:58:01,790 [மாணவர்] நுழைவு அது இருந்தது. நீங்கள் விரும்பினால் நான் பின்னர் நீங்கள் கேட்கலாம் 737 00:58:01,790 --> 00:58:03,920 இது தொடர்பான இல்லை, ஆனால் நான் தான் - 738 00:58:03,920 --> 00:58:07,300 [Hardison] விரிவுரை இருந்து டேவிட் நுழைவு குறியீடு வரம்பு? 739 00:58:07,300 --> 00:58:10,860 நாம் மேலே மற்றும் அது பற்றி பேசலாம். 740 00:58:10,860 --> 00:58:15,550 நாம் அடுத்த முறை நாம் தொடர்புடைய பட்டியல்கள் பெற பற்றி பேசுகிறேன். 741 00:58:15,550 --> 00:58:21,440 >> எனவே என்கியூ செயல்பாடு தெரிகிறது என்ன பார்க்க மிகவும் விரைவாக செல்லலாம். 742 00:58:21,440 --> 00:58:26,530 மக்கள் உங்கள் என்கியூ வரிசையில் செய்ய முயற்சி என்று முதல் விஷயம் என்ன? இந்த வரிசையில்? 743 00:58:26,530 --> 00:58:29,960 நீங்கள் தள்ளி ஸ்டேக் என்ன செய்தார்களோ ஒத்த. 744 00:58:29,960 --> 00:58:32,080 நீங்கள் ஸ்டெல்லா, என்ன செய்தாய்? 745 00:58:32,080 --> 00:58:35,050 [ஸ்டெல்லா, புரிந்து] 746 00:58:35,050 --> 00:58:45,700 [Hardison] சரியாக. (== திறன் q.size) என்றால் - 747 00:58:45,700 --> 00:58:54,720 நான் சரியான இடத்தில் என் ப்ரேஸ் செய்ய வேண்டும் - தவறான திரும்ப. 748 00:58:54,720 --> 00:59:01,370 சிறிதுநேரத்தில் ஜூம். சரி. 749 00:59:01,370 --> 00:59:03,800 இப்போது நாம் என்ன செய்ய வேண்டும் என்று அடுத்த விஷயத்தை என்ன? 750 00:59:03,800 --> 00:59:11,370 வெறும் அடுக்கு கொண்ட மாதிரி, மற்றும் சரியான இடத்தில் சேர்க்கப்பட்டது. 751 00:59:11,370 --> 00:59:16,010 அதனால் அந்த செருக சரியான இடத்தில் என்ன? 752 00:59:16,010 --> 00:59:23,170 ஸ்டாக் அது அது மிகவும் என்று இந்த, குறியீட்டு அளவு இருந்தது. 753 00:59:23,170 --> 00:59:30,210 [டேனியல்] நான் q.head-அல்லது - >> q.strings? >> ஆமாம். 754 00:59:30,210 --> 00:59:40,470 q.strings [q.head + q.size மோட் திறன்]? 755 00:59:40,470 --> 00:59:42,740 [Hardison] நாம் அநேகமாக இந்த சுற்றி அடைப்புக்குறிக்குள் போட வேண்டும் 756 00:59:42,740 --> 00:59:48,830 நாம் எல்லோருக்கும் cleart அதனால் சரியான முன்னுரிமை பெறுவது மற்றும் அதனால். 757 00:59:48,830 --> 00:59:55,800 அந்த சமமாக அமைக்க? Str வேண்டும் >>? Str வேண்டும் >>. பெரிய. 758 00:59:55,800 --> 01:00:00,160 இப்போது நாம் என்ன செய்ய வேண்டும் என்று கடந்த விஷயம் என்ன? 759 01:00:00,160 --> 01:00:06,780 நாம் ஸ்டேக் செய்தது போல். >> அளவு அதிகரிப்பு? >> அளவை அதிகப்படுத்த. 760 01:00:06,780 --> 01:00:13,830 பூரிப்பு. பின்னர், ஸ்டார்டர் குறியீடு பின்னர் தான், முன்னிருப்பாக தவறான திரும்பினார் 761 01:00:13,830 --> 01:00:27,460 நாம் அனைத்து வழியாக செல்லும் அனைத்து நன்றாக சென்றால் உண்மை இந்த மாற்ற வேண்டும். 762 01:00:27,460 --> 01:00:33,050 எல்லாம் சரி. அந்த பகுதி தகவல் நிறைய இருக்கிறது. 763 01:00:33,050 --> 01:00:39,480 நாம் மிகவும் அதிகமாக இருக்கும். நாம் தனித்தனி தொடர்புடைய பட்டியல்கள் பற்றி மிகவும் விரைவாக பேச வேண்டும். 764 01:00:39,480 --> 01:00:44,010 நான் இந்த போட வேண்டும் என்று நாம் பிறகு செல்லலாம். 765 01:00:44,010 --> 01:00:50,850 ஆனால் இன்னும் ஒரு சில சரிவுகள் நமது வழங்கல் திரும்பி செல்லலாம். 766 01:00:50,850 --> 01:00:53,790 எனவே என்கியூ TODO என்பது, இப்போது நாம் செய்துவிட்டேன். 767 01:00:53,790 --> 01:00:57,430 >> இப்போது தனித்தனி தொடர்புடைய பட்டியல்கள் பாருங்கள் நாம். 768 01:00:57,430 --> 01:01:00,040 நாம் விரிவுரையில் இந்த சற்று பற்றி பேசினார். 769 01:01:00,040 --> 01:01:02,540 நாம் மக்கள் அங்கு எவ்வளவு நீங்கள் ஒரு டெமோ பார்த்தேன் 770 01:01:02,540 --> 01:01:08,220 அசிங்கமாக ஒருவருக்கொருவர் மற்றும் தாங்கும் எண்களை குறிக்கும்? >> நான் என்று இருந்தது. 771 01:01:08,220 --> 01:01:16,620 >> நீங்கள் என்ன நினைக்கிறீர்கள்? இதை செய்தேன் என்று, வட்டம் இந்த சிறிது demystify? 772 01:01:16,620 --> 01:01:25,990 பட்டியல், அதை நாம் ஒரு முனை அழைக்க போகிறோம் என்று இந்த வகை சமாளிக்க என்று கூறினார். 773 01:01:25,990 --> 01:01:32,520 வரிசை மற்றும் ஸ்டாக் உடன் அதேசமயம் நாம், நாம் அடுக்கில் வரிசை அழைப்பு என்று structs இருந்தது 774 01:01:32,520 --> 01:01:34,860 நாம், ஸ்டாக் வகையான இந்த புதிய வரிசை இருந்தது 775 01:01:34,860 --> 01:01:39,240 இங்கே ஒரு பட்டியல் உண்மையில் ஒரு முனைகளில் ஒரு கொத்து உருவாக்கப்படுகிறது. 776 01:01:39,240 --> 01:01:45,920 சரங்களை எழுத்துகள் மட்டும் ஒரு கொத்து என்று அதே வழியில் அனைத்து ஒருவருக்கொருவர் அடுத்த வரை வரிசையாக. 777 01:01:45,920 --> 01:01:50,650 ஒரு இணைக்கப்பட்ட பட்டியலில் ஒரு முனை மற்றும் மற்றொரு முனை மற்றும் மற்றொரு முனை மற்றும் மற்றொரு முனை உள்ளது. 778 01:01:50,650 --> 01:01:55,080 மற்றும் பதிலாக ஒன்றாக அனைத்து முனைகளில் அடித்து நொறுக்குவதும் contiguously அவற்றை சேமித்து விட 779 01:01:55,080 --> 01:01:58,090 நினைவகத்தில் ஒருவருக்கொருவர் உரிமை அனைத்து அடுத்த, 780 01:01:58,090 --> 01:02:04,470 இந்த அடுத்த சுட்டிக்காட்டி கொண்டிருக்கும் நாம், அங்கொன்றும் இங்கொன்றுமாக, முனைகளில் எங்கு சேமிக்க முடியும். 781 01:02:04,470 --> 01:02:10,500 பின்னர் கம்பி வகையான அவர்கள் அனைவரும் ஒன்றாக இருந்து அடுத்த சுட்டிக்காட்ட. 782 01:02:10,500 --> 01:02:15,850 >> என்ன இது ஒரு வரிசைக்கு மேல் என்று பெரிய நன்மை என்ன? 783 01:02:15,850 --> 01:02:21,680 சேமிப்பதற்கென எல்லாவற்றையும் contiguously தான் ஒருவருக்கொருவர் அடுத்த சிக்கி? 784 01:02:21,680 --> 01:02:24,190 நீங்கள் நினைவில்? அப்படியா? >> டைனமிக் நினைவக ஒதுக்கீடு? 785 01:02:24,190 --> 01:02:27,220 என்ன அர்த்தத்தில் >> டைனமிக் நினைவக ஒதுக்கீடு? 786 01:02:27,220 --> 01:02:31,780 நீங்கள் பெரிய மற்றும் உங்கள் முழு வரிசையில் செல்ல வேண்டாம் செய்து வைக்க முடியும் என்று அங்குலம் [மாணவர்]? 787 01:02:31,780 --> 01:02:40,940 [Hardison] சரியாக. எனவே ஒரு வரிசைக்கு கொண்டு, நீங்கள் மத்தியில் ஒரு புதிய உறுப்பு வைக்க வேண்டும் போது, 788 01:02:40,940 --> 01:02:45,320 நீங்கள் இடத்தை செய்ய அனைத்தையும் மாற்ற வேண்டும். 789 01:02:45,320 --> 01:02:47,880 போன்ற நாம், வரிசை கொண்ட பேசினார் 790 01:02:47,880 --> 01:02:50,080 நாம் அந்த தலைவர் சுட்டிக்காட்டி வைத்து அதனால் தான், 791 01:02:50,080 --> 01:02:52,050 நாம் தொடர்ந்து விஷயங்கள் மாற்றுவதால் என்று. 792 01:02:52,050 --> 01:02:54,520 நீங்கள் ஒரு பெரிய வரிசை கிடைத்துவிட்டது என்று விலை கிடைக்கிறது என்பதால் 793 01:02:54,520 --> 01:02:57,130 நீங்கள் தொடர்ந்து இந்த சீரற்ற புகுத்தல் செய்கிறீர்கள். 794 01:02:57,130 --> 01:03:00,820 பட்டியல் அதேசமயம், நீங்கள் செய்ய வேண்டியது எல்லாம், ஒரு புதிய கணு அதை தூக்கி உள்ளது 795 01:03:00,820 --> 01:03:06,330 சுட்டிகள் சரி, நீங்கள் முடித்துவிட்டீர்கள். 796 01:03:06,330 --> 01:03:10,940 என்ன இது ஏமாற்றுகிறது? 797 01:03:10,940 --> 01:03:16,830 தவிர இது ஒரு வரிசை என வேலை அவ்வளவு எளிதல்ல என்று உண்மையில் இருந்து? அப்படியா? 798 01:03:16,830 --> 01:03:22,980 [டேனியல்] சரி, நான் அதை இணைக்கப்பட்ட பட்டியலில் ஒரு குறிப்பிட்ட உறுப்பு அணுக மிகவும் கடினமானதாக இருக்கிறது தெரியுமா? 799 01:03:22,980 --> 01:03:30,470 [Hardison] நீங்கள் உங்கள் இணைக்கப்பட்ட பட்டியலில் மத்தியில் ஒரு தன்னிச்சையான உறுப்பு செல்ல முடியாது. 800 01:03:30,470 --> 01:03:33,800 எப்படி பதிலாக அதை செய்ய வேண்டும்? நீங்கள் முழு விஷயம் மூலம் விலக வேண்டும் >>. 801 01:03:33,800 --> 01:03:35,660 [Hardison] சரி. நீங்கள் ஒரு நேரத்தில் ஒரு, ஒரு நேரத்தில் ஒரு வழியாக செல்ல வேண்டும். 802 01:03:35,660 --> 01:03:38,480 இது ஒரு பெரிய விஷயம் - அது ஒரு வலி தான். 803 01:03:38,480 --> 01:03:41,550 மற்ற என்ன - இந்த மற்றொரு வீழ்ச்சி உள்ளது. 804 01:03:41,550 --> 01:03:45,340 [பசில்] நீங்கள் முன்னோக்கி மற்றும் பின்னோக்கி போக முடியாது? நீங்கள் ஒரு திசையில் போக வேண்டும்? 805 01:03:45,340 --> 01:03:48,570 [Hardison] சரி. நாம் எப்படி சில நேரங்களில், அந்த தீர்வு என்ன? 806 01:03:48,570 --> 01:03:53,370 [பசில்] பட்டியல்கள் இரட்டை-இணைக்கப்பட்ட? சரியாக >>. இரட்டை-இணைக்கப்பட்ட பட்டியல்கள் உள்ளன. 807 01:03:53,370 --> 01:03:55,540 உள்ளன - மன்னிக்கவும்? 808 01:03:55,540 --> 01:03:57,620 >> [சாம்] என்று pred தான் பயன்படுத்தி அதே தான் - 809 01:03:57,620 --> 01:04:01,090 நான் நினைத்துக்கொண்டேன், pred விஷயம் என்ன என்று இல்லை? 810 01:04:01,090 --> 01:04:05,850 இல்லை என்று இரட்டை தனித்தனி இடையே? 811 01:04:05,850 --> 01:04:10,020 அவர் செய்து சரியாக என்ன [Hardison] நாம் இருக்கும். 812 01:04:10,020 --> 01:04:15,760 இங்கு நாம். இங்கே பட்டியல் குறியீடு. 813 01:04:15,760 --> 01:04:25,620 இங்கே நாம் இங்கே உள்ள, predptr வேண்டும். உன்னை பற்றி என்ன பேசுகிறார்கள் என்று இந்த? 814 01:04:25,620 --> 01:04:30,750 அதனால் தான் - அவர் ஒரு பட்டியலை பெறலாம், ஆனால் அவர் அதை ஒரு சுட்டிக்காட்டி சேமிக்க முயற்சிக்கிறார். 815 01:04:30,750 --> 01:04:35,000 இந்த இரட்டை, தனித்தனி இணைக்கப்பட்ட-பட்டியல்கள் இல்லை. 816 01:04:35,000 --> 01:04:40,090 இந்த பேசுகிறார் இருந்து நாம் பட்டியலை பெறலாம் பற்றி பின்னர் இது பற்றி மேலும் பேச முடியும் 817 01:04:40,090 --> 01:04:42,900 மற்றும் நான் முதல் சில விஷயங்களை காட்ட வேண்டும். 818 01:04:42,900 --> 01:04:51,480 ஆனால் அது - இது PTR மதிப்பை நினைவில் உள்ளது 819 01:04:51,480 --> 01:04:54,170 [மாணவர்] ஓ, அது preceeding சுட்டிக்காட்டி இருக்கிறது? >> சரி. 820 01:04:54,170 --> 01:05:04,070 நாம் predptr என்ன நாம் இலவச முன் PTR தன்னை அதிகப்படுத்த முடியும். 821 01:05:04,070 --> 01:05:09,130 நாம் இலவச PTR மற்றும் அழைப்பு PTR = PTR அடுத்த, சரியான? முடியாது 822 01:05:09,130 --> 01:05:11,260 அந்த மோசமான வேண்டும். 823 01:05:11,260 --> 01:05:20,940 எனவே இந்த பையன் வேண்டும், நாம் பார்ப்போம். 824 01:05:20,940 --> 01:05:23,900 >> பட்டியல்கள் பற்றி கெட்ட விஷயம் என்று ஒரு வரிசையை கொண்டு, அதேசமயம் 825 01:05:23,900 --> 01:05:26,520 நாம் தான், தங்களை ஒருவருக்கொருவர் அடுத்த அடுக்கப்பட்ட அனைத்து கூறுகள் 826 01:05:26,520 --> 01:05:29,050 இங்கு நாம் இந்த சுட்டிக்காட்டி அறிமுகப்படுத்தப்பட்டது. 827 01:05:29,050 --> 01:05:34,060 நாம் பயன்படுத்த நேர்கிறது என்று நினைவகம் கூடுதல் துண்டின் இல்லை 828 01:05:34,060 --> 01:05:37,910 எங்கள் பட்டியலில் சேமித்து என்று ஒவ்வொரு உறுப்பு வேண்டும். 829 01:05:37,910 --> 01:05:40,030 நாம் வளைந்து கிடைக்கும், ஆனால் அது ஒரு செலவு வருகிறது. 830 01:05:40,030 --> 01:05:42,230 இது, இந்த நேரம் செலவு வருகிறது 831 01:05:42,230 --> 01:05:45,270 அது இந்த நினைவகம் செலவு வருகிறது. 832 01:05:45,270 --> 01:05:47,800 நாம் இப்போது வரிசை ஒவ்வொரு உறுப்பு வழியாக செல்ல வேண்டும் என்ற அர்த்தத்தில் நேரம் 833 01:05:47,800 --> 01:05:58,670 குறியீட்டெண் 10 ஒரு, அல்லது ஒரு வரிசையில் குறியீட்டெண் 10 இருந்திருக்கும் கண்டுபிடிக்க. 834 01:05:58,670 --> 01:06:01,230 >> நான் உண்மையில் விரைவாக, நாம் வரைபடம் அவுட் இந்த பட்டியல்கள், 835 01:06:01,230 --> 01:06:05,980 பொதுவாக நாம் பட்டியலை தலைவர் அல்லது பட்டியலில் முதல் சுட்டிக்காட்டி பிடித்து 836 01:06:05,980 --> 01:06:08,010 இந்த உண்மையான சுட்டிக்காட்டி என்பதை நினைவில். 837 01:06:08,010 --> 01:06:11,100 இது 4 பைட்டுகள் தான். அது ஒரு உண்மையான முனை தன்னை அல்ல. 838 01:06:11,100 --> 01:06:17,120 அதனால் அது எந்த எண்ணாக மதிப்பு, அது எந்த அடுத்த சுட்டிக்காட்டி உள்ளது என்று பார்க்க. 839 01:06:17,120 --> 01:06:20,790 அது உண்மையில் ஒரு சுட்டிக்காட்டி இருக்கிறது. 840 01:06:20,790 --> 01:06:23,550 அது ஒரு உண்மையான முனை struct என்று ஏதாவது சுட்டிக்காட்ட நடக்கிறது. 841 01:06:23,550 --> 01:06:28,480 [சாம்] முனை என்று ஒரு சுட்டிக்காட்டி? >> இது - இல்லை. இந்த வகை முனை ஏதோ ஒரு சுட்டிக்காட்டி இருக்கிறது. 842 01:06:28,480 --> 01:06:32,540 அது ஒரு முனை struct ஒரு சுட்டிக்காட்டி இருக்கிறது. >> ஓ, சரி. 843 01:06:32,540 --> 01:06:36,870 வலது இடது, குறியீடு மீது வரைபடம். 844 01:06:36,870 --> 01:06:42,190 நாம் தொடங்க ஒரு நல்ல வழி இது பூஜ்ஜிய, அதை அமைக்க முடியும். 845 01:06:42,190 --> 01:06:49,850 நீங்கள் வரைபடம் இது, அப்படி நீங்கள் அதை பூஜ்ய என எழுத அல்லது அதை ஒரு வரி வருகிறது. 846 01:06:49,850 --> 01:06:53,910 >> பட்டியல்கள் வேலை எளிதான வழிகளில் ஒன்று, 847 01:06:53,910 --> 01:06:57,430 நாங்கள், நீங்கள் இருவரும் முன்னொட்டைச் 'சேர்த்து கொள்கின்றன கேட்டு இரண்டு இடையே உள்ள வேறுபாடுகளை பார்க்க append 848 01:06:57,430 --> 01:07:01,320 ஆனால் prepending கண்டிப்பாக எளிதாக இருக்கும். 849 01:07:01,320 --> 01:07:05,790 அங்கு நீங்கள் முன்னொட்டைச் 'சேர்த்து கொள்கின்றன போது, இந்த - நீங்கள் முன்னொட்டைச்' சேர்த்து கொள்கின்றன (7), 850 01:07:05,790 --> 01:07:10,050 நீங்கள் முனை struct சென்று உருவாக்க 851 01:07:10,050 --> 01:07:13,870 நீங்கள், இப்போது நாம் அது முன்னொட்டாக இருந்து, அதை சுட்டி முதல் அமைக்க 852 01:07:13,870 --> 01:07:17,240 இது பட்டியலில் ஆரம்பத்தில் இருக்க போகிறது. 853 01:07:17,240 --> 01:07:22,540 நாம் மற்றொரு முனை உருவாக்குகிறது என்று முன்னொட்டைச் 'சேர்த்து கொள்கின்றன (3),, ஆனால் இப்போது 3 7 முன் வந்தால். 854 01:07:22,540 --> 01:07:31,130 எனவே நாம் அடிப்படையில் எங்கள் பட்டியலில் மீது விஷயங்களை தள்ளும். 855 01:07:31,130 --> 01:07:34,720 இப்போது, நீங்கள், முன்னொட்டைச் 'சேர்த்து கொள்கின்றன, சில நேரங்களில் மக்கள் தள்ள அழைப்பு என்று பார்க்கலாம் 856 01:07:34,720 --> 01:07:39,600 ஏனெனில் நீங்கள் உங்கள் பட்டியல் மீது ஒரு புதிய உறுப்பு தள்ளும். 857 01:07:39,600 --> 01:07:43,270 இது ஒரு பட்டியல் முன்னால் உள்ள நீக்க கூட எளிது. 858 01:07:43,270 --> 01:07:45,650 எனவே மக்கள் பெரும்பாலும் அந்த பாப் அழைக்கும். 859 01:07:45,650 --> 01:07:52,200 அந்த வழியில், ஒரு இணைக்கப்பட்ட பட்டியலில் பயன்படுத்தி ஒரு அடுக்கு பின்பற்ற முடியாது. 860 01:07:52,200 --> 01:07:57,880 அச்சச்சோ. மன்னிக்கவும், இப்போது நாம், append கொண்டு வருகிறோம். இங்கு நாம் முன்னொட்டைச் 'சேர்த்து கொள்கின்றன (3) இப்போது, (7) முன்னொட்டாக. 861 01:07:57,880 --> 01:08:02,600 நாம் முன்னொட்டாக நாம் (4), இந்த பட்டியலில் மீது வேறு முன்னொட்டாக, 862 01:08:02,600 --> 01:08:06,540 நாம் 4 மற்றும் பிறகு 3 பின்னர் 7 விரும்புகிறேன். 863 01:08:06,540 --> 01:08:14,220 எனவே நாம் பாப் மற்றும் அகற்றுவதில் 3, 4 நீக்க முடியும், 7 நீக்க. 864 01:08:14,220 --> 01:08:16,500 பெரும்பாலும் இதை பற்றி யோசிக்க இன்னும் உள்ளுணர்வு வழியில், append உள்ளது. 865 01:08:16,500 --> 01:08:20,310 அதனால் நான் அதை இங்கே சேர்க்க கூடிய போன்று இருக்கும் என்ன படமும். 866 01:08:20,310 --> 01:08:23,380 இங்கே, இணைக்கப்படும் (7) வேறு இல்லை 867 01:08:23,380 --> 01:08:25,160 ஏனெனில் பட்டியலில் ஒரே ஒரு உறுப்பு உள்ளது. 868 01:08:25,160 --> 01:08:28,620 மற்றும் சேர்ப்பதன் (3) இறுதியில் அதனை. 869 01:08:28,620 --> 01:08:31,020 ஒருவேளை நீங்கள் இப்போது, append கொண்ட தந்திரம் பார்க்க முடியும் 870 01:08:31,020 --> 01:08:36,600 அந்த பட்டியலில் ஆரம்பத்தில் எங்கே நாம் மட்டுமே தெரியும் என்பதால் தான் 871 01:08:36,600 --> 01:08:39,450 நீங்கள் பட்டியல் மூலம் அனைத்து வழியில் நடக்க வேண்டும், ஒரு பட்டியலில் சேர்க்க வேண்டும் 872 01:08:39,450 --> 01:08:46,500 , இறுதியில் கிடைக்கும் நிறுத்த, பிறகு உங்கள் முனை மற்றும் கீழே கம்பியை இழுத்து விடுவதால் ஏற்படும் ஒலி எல்லாம் உருவாக்க. 873 01:08:46,500 --> 01:08:50,590 அனைத்து பொருட்களையும் வரை கம்பி. 874 01:08:50,590 --> 01:08:55,170 எனவே முன்னொட்டைச் 'சேர்த்து கொள்கின்றன கொண்டு, நாம் தான், உண்மையில் விரைவில் இந்த வழியாக அகற்றி 875 01:08:55,170 --> 01:08:58,170 நீங்கள் ஒரு பட்டியலில் முன்னொட்டைச் 'சேர்த்து கொள்கின்றன போது, அது மிகவும் எளிது. 876 01:08:58,170 --> 01:09:02,960 >> உங்கள் புதிய கணு செய்ய, சில மாறும் நினைவக ஒதுக்கீடு உள்ளடக்கியது. 877 01:09:02,960 --> 01:09:09,830 இங்கு நாம் malloc பயன்படுத்தி ஒரு முனை struct செய்கிறாய். 878 01:09:09,830 --> 01:09:14,710 Malloc என்று பின்னர் எங்களை நினைவகம் ஒதுக்கி வேண்டும், ஏனெனில் நாங்கள் பயன்படுத்தும் 879 01:09:14,710 --> 01:09:20,350 நாம் இந்த விரும்பவில்லை, ஏனென்றால் - இந்த நினைவகம் நீண்ட நேரம் நீடிக்கும் வேண்டும். 880 01:09:20,350 --> 01:09:25,350 மற்றும் நாம் தான் ஒதுக்கப்பட்டுள்ளது என்று நினைவகத்தில் இடத்தை ஒரு சுட்டிக்காட்டி கிடைக்கும். 881 01:09:25,350 --> 01:09:29,260 நாம் முனை அளவு பயன்படுத்த, நாம் துறைகளில் தொகையிடும் இல்லை. 882 01:09:29,260 --> 01:09:31,899 நாம் கைமுறையாக, பைட்டுகள் எண்ணிக்கை உருவாக்க வேண்டாம் 883 01:09:31,899 --> 01:09:39,750 அதற்கு பதிலாக நாம் நாம் பைட்டுகள் தகுந்த எண் வருகிறோம் என்று அந்த sizeof பயன்படுத்த. 884 01:09:39,750 --> 01:09:43,660 நாம் malloc அழைப்பு வெற்றி என்று சோதிக்க உறுதி. 885 01:09:43,660 --> 01:09:47,939 இந்த பொது செய்ய வேண்டும் விஷயம். 886 01:09:47,939 --> 01:09:52,590 நவீன இயந்திரங்கள் மீது, நினைவக வெளியே இயங்கும் எளிது என்று ஒன்று இல்லை 887 01:09:52,590 --> 01:09:56,610 நீங்கள் பொருள் ஒரு டன் ஒதுக்கீடு மற்றும் ஒரு பெரிய பட்டியல் செய்கிறாய் வரை, 888 01:09:56,610 --> 01:10:02,220 ஆனால் நீங்கள் ஒரு ஐபோன் அல்லது ஒரு அண்ட்ராய்டு போல், என்று, விஷயங்களை கட்டி என்றால், 889 01:10:02,220 --> 01:10:05,230 நீங்கள் தீவிர ஏதோ செய்கிறாய் குறிப்பாக நீங்கள், வரையறுக்கப்பட்ட நினைவக மூலங்கள் இல்லை. 890 01:10:05,230 --> 01:10:08,300 எனவே நடைமுறையில் பெற நல்லது. 891 01:10:08,300 --> 01:10:10,510 >> நான் இங்கே ஒரு ஜோடி வெவ்வேறு செயல்பாடுகளை பயன்படுத்தப்படுகிறது என்பதை கவனிக்க 892 01:10:10,510 --> 01:10:12,880 நீங்கள் புதிய வகையான என்று பார்த்தேன் என்று. 893 01:10:12,880 --> 01:10:15,870 எனவே fprintf தான் printf போன்ற 894 01:10:15,870 --> 01:10:21,320 அதன் முதல் வாதம் தவிர நீங்கள் அச்சிட வேண்டும் ஸ்ட்ரீம் ஆகும். 895 01:10:21,320 --> 01:10:23,900 இந்த வழக்கில், நாம் நிலையான பிழை சரத்திற்கு அச்சிட வேண்டும் 896 01:10:23,900 --> 01:10:29,410 இது வழக்கமான outstream வேறுபட்டது. 897 01:10:29,410 --> 01:10:31,620 முன்னிருப்பாக அதே இடத்தில் வரை காட்டுகிறது. 898 01:10:31,620 --> 01:10:34,600 இது முனையத்தில் அவுட் அச்சிடுகிறது, ஆனால் நீங்கள் - 899 01:10:34,600 --> 01:10:38,790 அந்த கட்டளைகளை பயன்படுத்தி நீங்கள் பற்றி, திருப்பிவிட நுட்பங்களை கற்று 900 01:10:38,790 --> 01:10:42,290 நீங்கள் பிரச்சனை தொகுப்பு 4 டாமி வீடியோ பற்றி கற்று, அதை இயக்க முடியும் 901 01:10:42,290 --> 01:10:47,900 பல்வேறு இடங்களில்; பின்னர் வெளியேறும் உங்கள் திட்டம், இங்கே, வெளியேறவும். 902 01:10:47,900 --> 01:10:50,440 அது, முக்கிய திரும்பி போன்ற அடிப்படையில் தான் 903 01:10:50,440 --> 01:10:53,600 இங்கே மீண்டும் எதுவும் செய்ய முடியாது, ஏனெனில் நாங்கள் வெளியேறும் பயன்படுத்த தவிர. 904 01:10:53,600 --> 01:10:57,140 நாங்கள் முக்கிய இல்லை, அதனால் மீண்டும் நாங்கள் விரும்புகிறோம் போன்ற திட்டத்தை வெளியேற முடியாது. 905 01:10:57,140 --> 01:11:03,020 நாங்கள் வெளியேறும் செயல்பாட்டை பயன்படுத்த இது ஒரு பிழை குறியீடு கொடுக்க. 906 01:11:03,020 --> 01:11:11,890 பின்னர் இங்கே நாம் நான் சமமாக இருக்கும் புதிய கணு மதிப்பு துறையில், அதன் நான் புலம் அமைக்க, மற்றும் நாம் அது கம்பி. 907 01:11:11,890 --> 01:11:15,530 நாங்கள், முதலில் சுட்டிக்காட்ட புதிய கணு அடுத்த சுட்டிக்காட்டி அமைக்க 908 01:11:15,530 --> 01:11:20,460 பின்னர் முதல் இப்போது புதிய கணு சுட்டி. 909 01:11:20,460 --> 01:11:25,120 குறியீடு இந்த முதல் வரிகளை, நாம் உண்மையில் புதிய கணு கட்டி. 910 01:11:25,120 --> 01:11:27,280 இந்த விழாவில் கடந்த இரண்டு வரிகளை ஆனால், முதலில் களம் காண்பவர்கள் இல்லை. 911 01:11:27,280 --> 01:11:30,290 நீங்கள் உண்மையில் ஒரு உதவி செயல்பாடு குறித்து, ஒரு செயல்பாடு வெளியே இழுக்க முடியும். 912 01:11:30,290 --> 01:11:32,560 பெரும்பாலும் நான் என்ன ஆகும் என்று, நான், ஒரு செயல்பாடு அதை வெளியே இழுக்க 913 01:11:32,560 --> 01:11:36,040 நான் அதை உருவாக்க முனையும் போல, அழைப்பு 914 01:11:36,040 --> 01:11:40,410 அந்த முன்னொட்டைச் 'சேர்த்து கொள்கின்றன செயல்பாடு மிகவும் சிறிய வைத்திருக்கும், அது 3 கோடுகள் பிறகு தான். 915 01:11:40,410 --> 01:11:48,710 நான் என் உருவாக்க முனையும் செயல்பாடு ஒரு அழைப்பை, பிறகு நான் கம்பி எல்லாம். 916 01:11:48,710 --> 01:11:51,970 >> நான் உங்களுக்கு காண்பிக்க வேண்டும் இறுதி காரியம், 917 01:11:51,970 --> 01:11:54,030 மற்றும் நான், நீங்கள் உங்கள் சொந்த append மற்றும் அனைத்து செய்ய சொல்கிறேன் 918 01:11:54,030 --> 01:11:57,500 ஒரு பட்டியல் மீது மீண்டும் கூறு எப்படி இருக்கும். 919 01:11:57,500 --> 01:12:00,780 ஒரு பட்டியல் மீது மீண்டும் கூறு வெவ்வேறு வழிகளில் உள்ளன, அவற்றிலிருந்து. 920 01:12:00,780 --> 01:12:03,140 இந்த வழக்கில், நாம் ஒரு பட்டியல் நீளம் கண்டுபிடிக்க போகிறோம். 921 01:12:03,140 --> 01:12:06,570 நாம் நீளம் = 0 தொடங்கும். 922 01:12:06,570 --> 01:12:11,580 இந்த ஒரு சரம் ஐந்து strlen எழுத மிகவும் ஒத்ததாக இருக்கிறது. 923 01:12:11,580 --> 01:12:17,780 இந்த நான் இங்கே வளைய இந்த, நீங்கள் காட்ட விரும்புகிறேன். 924 01:12:17,780 --> 01:12:23,530 அது கிரகமாக பங்கி தெரிகிறது; இது வழக்கமான இல்லை எண்ணாக நான் = 0, நான் <என்ன, நான் +. 925 01:12:23,530 --> 01:12:34,920 மாறாக அது பட்டியலில் தொடக்கமாக நம் மாறி n ஆரம்பிக்கும். 926 01:12:34,920 --> 01:12:40,620 எங்கள் இயக்கி மாறி பூஜ்ய அல்ல போது பின், நாம் போகும். 927 01:12:40,620 --> 01:12:46,340 மாநாட்டின் மூலம், எங்கள் பட்டியலில் இறுதியில் பூஜ்ய வேண்டும், ஏனெனில் இது. 928 01:12:46,340 --> 01:12:48,770 பின்னர், மாறாக + செய்து விட, அதிகப்படுத்த 929 01:12:48,770 --> 01:12:57,010 + ஒரு இணைக்கப்பட்ட பட்டியலில் சமமாக + n = n-> அடுத்த ஆகும். 930 01:12:57,010 --> 01:13:00,410 >> நாம் நேரம் போதவில்லை என்பதால் நான் இங்கே இடைவெளிகளை நிரப்பி விடுவோம். 931 01:13:00,410 --> 01:13:09,300 உங்கள் spellr psets வேலை ஆனால் இதை மனதில் வைத்து. 932 01:13:09,300 --> 01:13:11,650 இணைக்கப்பட்ட பட்டியலில், நீங்கள் ஒரு ஹாஷ் அட்டவணை செயல்படுத்த என்றால், 933 01:13:11,650 --> 01:13:14,010 நிச்சயமாக மிகவும் கைக்குள் வரும். 934 01:13:14,010 --> 01:13:21,780 மற்றும் பொருட்கள் மீது தேடுகிறது இந்த மொழியான கொண்ட வட்டம், நிறைய எளிதாக வாழ்க்கை செய்யும். 935 01:13:21,780 --> 01:13:25,910 எந்த கேள்விகள், விரைவில்? 936 01:13:25,910 --> 01:13:28,920 [சாம்] நீங்கள் நிறைவு சோசலிச தொழிலாளர் கழகம் மற்றும் SC வெளியே அனுப்ப முடியுமா? 937 01:13:28,920 --> 01:13:38,360 [Hardison] சரி. நான் நிறைவு சரிவுகள் மற்றும் நிறைவு சோசலிச தொழிலாளர் கழகம் ஸ்டேக் மற்றும் queue.cs வெளியே அனுப்ப வேண்டும். 938 01:13:38,360 --> 01:13:41,360 [CS50.TV]