[Powered by Google Translate] [பகுதி 6: குறைந்த வசதியான]
[நேட் Hardison] [ஹார்வர்ட் பல்கலைக்கழகம்]
[இந்த CS50 உள்ளது.] [CS50.TV]
எல்லாம் சரி. பிரிவு 6 வரவேற்கிறது.
இந்த வாரம், நாம், பிரிவில் தரவு கட்டமைப்புகள் பற்றி போகிறாய்
இந்த வாரம் சிக்கல் spellr அமைத்து முக்கியமாக, ஏனெனில்
வெவ்வேறு தரவு கட்டமைப்பை ஆய்வு ஒரு மொத்தமாக இல்லை.
நீங்கள் பிரச்சனை தொகுப்பு போகலாம் வெவ்வேறு வழிகளில் ஒரு கொத்து உள்ளன
நீங்கள் பற்றி மேலும் தரவு கட்டமைப்புகள், நீங்கள் என்ன செய்ய முடியும் மேலும் கூலான விஷயங்களை.
>> எனவே துவங்கட்டும். முதலில் நாம், ஸ்டாக்குகள் பற்றி பேச போகிறோம்
நாம் பற்றி பேச போகிறோம் என்று ஸ்டேக் மற்றும் வரிசை தரவு கட்டமைப்புகள்.
நாம் வரைபடங்கள் பற்றி பேசுவதற்கு போது அடுக்குகள் மற்றும் வரிசைகளை, உண்மையிலேயே உங்களுக்கு பயனுள்ளதாக இருக்கும்
நாம் இப்போது இவ்வளவு செய்ய போவதில்லை இது.
ஆனால் அவர்கள் சிஎஸ் பெரிய அடிப்படை தரவு கட்டமைப்புகள் ஒன்று புரிந்து கொள்ள நல்ல இருக்கும்.
பிரச்சனை தொகுப்பு குறிப்பீட்டில் விளக்கம்,
ஒத்த போன்ற அடுக்குகள் பற்றி நீங்கள் மேலே என்றால், பேச்சுவார்த்தை
நீங்கள் உணவு கூடங்களில் உள்ள உணவு விடுதியில் என்று சாப்பாட்டு தட்டுக்களும் குவியலில்
சாப்பாட்டு ஊழியர்கள் வந்து அவர்கள் சுத்தம் செய்த பிறகு, டைனிங் தட்டுக்களும் அவுட் வைக்கும் அங்கு போது
அவர்கள் மற்ற மேல் ஒரு குவியலாக.
பின்னர் குழந்தைகள், உணவு பெற வரும் போது
அவர்கள் முதல் மேல் ஒரு, தட்டுக்களும் இழுக்கவும், அது கீழே ஒரு, பின்னர் அந்த கீழே ஒரு.
எனவே, நடைமுறையில், சாப்பாட்டு ஊழியர்கள் கீழ்த்தரமாக்கும் முதல் தட்டில் எடுத்து விடும் என்று கடந்த ஒன்றாகும்.
சாப்பாட்டு ஊழியர்கள் மீது கடந்த ஒரு இரவு உணவிற்கு எடுத்து விடும் என்று முதல் ஒன்றாகும்.
நீங்கள் ஏற்கனவே இல்லை இருந்தால் பிரச்சனை தொகுப்பின் ஸ்பெக், நீ, இது பதிவிறக்க முடியும்
இந்த வகையான struct பயன்படுத்தி ஒரு அடுக்கு தரவு stucture மாடலிங் பற்றி பேச.
>> நாம் இங்கே கிடைத்தது என்ன, இந்த, விரிவுரையில் வழங்கப்பட்டது என்ன ஒத்த
விரிவுரை தவிர நாம் எரிப்பதை * கள் பதிலாக ints இந்த வழங்கினார்.
இது கடைகளில் என்ன ஒரு அடுக்கு இருக்க போகிறது?
டேனியல்? இந்த ஸ்டேக் என்ன சேமித்து?
[டேனியல்] சரங்கள்? >> நாம் சரியாக, இந்த அடுக்கில் சரங்களை சேமிக்கும்.
நீங்கள் ஒரு அடுக்கு உருவாக்க வேண்டும் அனைத்து வரிசை உள்ளது
ஒரு குறிப்பிட்ட அளவு, இந்த வழக்கில் எந்த,
கொள்ளளவு அதை தொடர்ந்து தான் அனைத்து தொப்பிகள் இருக்க போகிறது.
பின்னர் அணி கூடுதலாக, நாம் கண்காணிக்க வேண்டும் அனைத்து அணியின் தற்போதைய அளவு.
அந்த குளிர் என்ன தான் இங்கே கவனிக்க ஒன்று
நாம் மற்றொரு தரவு கட்டமைப்பு, வரிசைக்கு மேல் அடுக்கு தரவு கட்டமைப்பை உருவாக்கும் என்று தான்.
ஸ்டாக்குகள் செயல்படுத்த பல்வேறு வழிகள் உள்ளன.
நாம், ஆனால் வட்டம் இணைக்கப்பட்ட பட்டியலில் பிரச்சினைகள் செய்து பின்னர், மிக இன்னும் அதை செய்ய மாட்டேன்
நீங்கள் எளிதாக அத்துடன் இணைக்கப்பட்ட பட்டியலில் ஒரு அடுக்கு செயல்படுத்த முடியும் என்பதை பார்க்கலாம்.
ஆனால் இப்போது, நாம் வரிசைகள் ஒட்டிக்கொள்கின்றன வேண்டும்.
எனவே மீண்டும், நாம் வேண்டிய ஒரு வரிசை மற்றும் நாம் இப்போது வரிசை அளவு கண்காணிக்க வேண்டும்.
[சாம்] மன்னிக்கவும், ஏன் நீங்கள் ஸ்டேக் சரங்களை மேல் தான் என்று?
சரங்களை ஸ்டாக் இருக்கும் போல எனக்கு தோன்றுகிறது.
[Hardison] சரி. நாங்கள் எங்கள் அணி தரவு கட்டமைப்பு பேசிக்கொண்டு, உருவாக்கி -
என்று ஒரு பெரிய கேள்வி. எனவே கேள்வி, இந்த ஆன்லைன் பார்த்து வந்த மக்கள், ஏன்
நாம் ஏன், ஸ்டாக் சரங்களை மேல் இருப்பதாக சொல்கிறார்கள்
இங்கே அது சரங்களை ஸ்டேக் உள்ளே இருக்கும் போல? ஏனெனில்
இது முற்றிலும் வழக்கு.
என்ன நான் குறிப்பிட்டு இருந்தேன் நாம் ஒரு வரிசை தரவு கட்டமைப்பு பெற்றுவிட்டோம் என்று இருந்தது.
நாம் எரிப்பதை * கள் ஒரு வரிசை, சரங்களின் இந்த வரிசை, கிடைத்துவிட்டது
நாம் அடுக்கப்பட்ட தரவு கட்டமைப்பை உருவாக்க வேண்டும் என்று சேர்க்க போகிறோம்.
>> எனவே ஒரு அடுக்கு வரிசை விட சற்று சிக்கலானது.
நாம் ஒரு அடுக்கு உருவாக்க வரிசையை பயன்படுத்த முடியும்.
நாம் ஸ்டேக் ஒரு வரிசைக்கு மேல் கட்டப்பட்டுள்ளது என்று எங்கே என்று தான்.
அதேபோல், நான் முன்பே சொன்னது போல், நாம் ஒரு இணைக்கப்பட்ட பட்டியலில் ஒரு அடுக்கு உருவாக்க முடியும்.
அதற்கு பதிலாக, எங்கள் உறுப்புகளை நடத்த ஒரு வரிசை பயன்படுத்தி,
நாம் கூறுகளை வைத்து அந்த சுற்றி ஸ்டேக் உருவாக்க ஒரு இணைக்கப்பட்ட பட்டியலில் பயன்படுத்த முடியும்.
சில குறியீடு பார்த்து, அது உதாரணங்கள் ஒரு ஜோடி மூலம் நடக்க விட,
உண்மையில் என்ன நடக்கிறது இங்கே பார்க்க.
இடது, நான் அந்த ஸ்டேக் struct நினைவாக இருக்க என்ன கீழே தூக்கி எறிந்துவிட்டேன்
கொள்ளளவு # நான்கு வரையறுக்கப்படுகிறது என்றால்.
நாங்கள் நான்கு உறுப்பு எரிப்பதை * வரிசை கிடைத்துவிட்டது.
நாம் சரங்களை [0], சரங்களை [1], சரங்களை [2], சரங்களை [3], கிடைத்துவிட்டது
பின்னர் நம் அளவு முழு அந்த கடைசி இடத்தில்.
இந்த உணர்வு ஏற்படுத்தும்? சரி.
இந்த நான் வலது என்ன என்ன நடக்கும் என்று
என் குறியீடு இருக்கும், ஒரு struct, கள் என்று ஒரு அடுக்கப்பட்ட struct அறிவிக்க உள்ளது.
இந்த நாம் என்ன இருக்கிறது. இது நினைவக இந்த தடம் வகுக்கிறது.
இங்கே முதல் கேள்வி இந்த ஸ்டேக் struct உள்ளடக்கங்களை என்ன ஆகும்?
இப்போது அவர்கள் இல்லை என்றால், ஆனால் அவர்கள் முற்றிலும் எதுவும் இல்லை.
அவர்கள் குப்பை இது தான். நாங்கள் யோசனை அவர்களுக்கு என்ன வேண்டும்.
நாம் ஸ்டேக் கள் அறிவிக்கும் போது, நாங்கள் மட்டும் நினைவக மேல் என்று கீழே எறியும்.
இது int நான் பிரகடனம் மற்றும் அது ஆரம்பிக்கும் இல்லை போன்ற வகையான தான்.
நீங்கள் அங்கு என்ன என்று எனக்கு தெரியாது. நீங்கள், அங்கு என்ன படிக்கலாம்
ஆனால் அது உங்களுக்கு பயனுள்ளதாக சூப்பர் இருக்கலாம்.
நீங்கள் எப்போதும் செய்ய நினைவில் வேண்டும் ஒன்றை துவக்க வேண்டும் என்ன துவக்க உள்ளது.
இந்த வழக்கில், நாம், பூஜ்ஜியம் அளவு துவக்க போகிறோம்
அது எங்களுக்கு மிக முக்கியமான இருக்கும் திரும்ப நடக்கிறது என்பதால்.
நாம் போய் சுட்டிகள் அனைத்து, அனைத்து எரிப்பதை * கள், துவக்க முடியும்
ஒருவேளை பூஜ்ய சில புரிந்துகொள்ளக்கூடிய மதிப்பு, இருக்கும்.
ஆனால் அதை நாம் செய்ய வேண்டும் என்று முற்றிலும் அவசியம் இல்லை.
>> இப்போது, ஸ்டாக்குகள் இரண்டு முக்கிய செயல்பாடுகளை இருக்கும்?
யாரையும் நீங்கள் அடுக்குகள் என்ன செய்ய விரிவுரை இருந்து நினைவிருக்கிறதா? ஆமாம்?
[ஸ்டெல்லா] புஷிங் மற்றும் உறுத்தும்? சரியாக >>.
அழுத்தம் மற்றும் உறுத்தும் அடுக்குகள் இரண்டு முக்கிய செயல்பாடுகளை இருக்கும்.
மற்றும் உந்துதல் என்ன செய்ய? >> அது மேலே மீது ஒன்று சேர்கின்றன
ஸ்டேக்கின், பின்னர் உறுத்தும் அதை எடுக்கும்.
[Hardison] சரியாக. எனவே தள்ளும் ஸ்டேக் மேல் ஏதாவது தள்ளுகிறது.
அதை எண்ணி ஒரு சாப்பாட்டு தட்டு கீழே வைத்து உணவு உண்ணும் ஊழியர்கள் போல்.
மற்றும் உறுத்தும் ஸ்டேக் ஒரு சாப்பாட்டு தட்டில் இருந்து வருகிறது.
நாம் என்ன நடக்கும் உதாரணங்கள் ஒரு ஜோடி மூலம் நடக்க
நாம் ஸ்டேக் என்ற விஷயங்களை அழுத்தம் போது.
நாம் ஸ்டேக் மீது சரம் 'ஹலோ' தள்ளும் இருந்தால்,
இந்த எங்கள் வரைபடம் இப்போது எப்படி இருக்க வேண்டும் என்பது தான்.
என்ன நடக்கிறது என்று பார்க்கலாம்?
நாம் சரங்களை அணி முதல் உறுப்பு தள்ளப்பட்டால்
நாம் 1 நமது அளவு எண்ணிக்கை பிரச்சனையை பெரிதாக்கினார்.
நாம் இரண்டு ஸ்லைடுகள் வித்தியாசம் பார்க்க நீங்கள், இங்கே 0 இருந்தது, இங்கே மிகுதி முன் தான்.
இங்கே மிகுதி பிறகு.
மிகுதி முன், மிகுதி பின்னர்.
இப்போது நாங்கள் எங்கள் ஸ்டேக் ஒரு உறுப்பு உள்ளது.
இது சரம் "ஹலோ" தான், அவ்வளவு தான்.
வரிசையில் எல்லாவற்றையும், நம் சரங்களை வரிசையில், இன்னும் குப்பை உள்ளது.
நாம் அது துவக்கப்படும்.
நாம் நம் ஸ்டேக் மீது மற்றொரு சரம் தள்ளும் என்று.
நாம் இந்த நேரத்தில் "உலக" தள்ள போகிறீர்கள்.
எனவே, "உலக" இங்கே "ஹலோ" மேல் சென்று பார்க்க முடியும்
மற்றும் அளவு எண்ணிக்கை 2 வரை செல்கிறது.
இப்போது நாம் "CS50", என்று மீண்டும் மேலே செல்வோம் தள்ள முடியும்.
நாம் திரும்பி செல்ல, நீங்கள் நாங்கள் ஸ்டேக் மேல் விஷயங்களை அழுத்தம் நீங்கள் எப்படி பார்க்க முடியும்.
இப்போது நாம் எடுக்க வேண்டும்.
நாம் ஸ்டேக்கின் ஏதாவது ஆஃப் தெரித்து போது, என்ன நடந்தது?
யாராவது வேறுபாடு பார்க்க? அது மிகவும் நுட்பமான விஷயம்.
[மாணவர்] அளவு. >> சரி, அளவு மாற்றப்பட்டது.
>> வேறு என்ன மாற்றம் என எதிர்பார்க்கப்படுகிறது?
மிகவும் [மாணவர்] சரங்களை,. >> வலது. மிகவும் சரங்களை.
அது மாறிவிடும் நீங்கள் இந்த வழியில் செய்கிறீர்கள் போது,
நாம் ஸ்டேக் என்ற கூறுகளை நகல் ஏனெனில்,
நாம் உண்மையில் எதுவும் செய்ய வேண்டாம்; நாம் அளவு பயன்படுத்தலாம்
எங்கள் அணியின் விஷயங்களை எண்ணிக்கையை கண்காணிப்பதற்கு
அதனால் நாம் மீண்டும் பாப் போது, மீண்டும் நாம் தான் 1 நமது அளவு கீழே குறைத்தல்.
உண்மையில் போய் எதையும் மேலெழுத தேவை இல்லை.
பங்கி வகையான.
அதை நாம் செய்ய குறைந்த வேலை ஏனென்றால் நாம் பொதுவாக நான் மட்டும் விஷயங்களை விட்டு அந்த மாறிவிடும்.
நாம் திரும்பி சென்று ஏதாவது மேலெழுதும் வேண்டும் என்றால், பிறகு ஏன் அதை செய்ய?
நாம் ஸ்டேக்கின் இருமுறை ஆஃப் பாப் போது, என்று எல்லா அளவு இரண்டு முறை குறைப்பு இல்லை.
மீண்டும், இந்த நாம் ஸ்டேக் என்ற விஷயங்களை நகல் இல்லை தான் காரணம்.
ஆமாம்? போ.
[மாணவர், புரிந்து] >> பிறகு மீண்டும் ஒன்று தள்ளும் போது என்ன நடக்கும்?
நீங்கள் மீண்டும் ஒன்று தள்ளும் போது, அது எங்கு செல்ல வேண்டும்?
எங்கே, பசில் போகவேண்டும்? சரங்களை [1] இண்டு >>? >> வலது.
ஏன் அது சரங்களை [3] போக கூடாது?
[பசில்] இது ஒன்றும் சரங்களை இருந்தது என்பதை மறந்து ஏனென்றால் [1] மற்றும் [2]?
[Hardison] சரியாக. எங்கள் ஸ்டாக், அடிப்படையில், அது எதையும் செய்ய கொண்டிருப்பதாக "மறந்துவிட்டேன்"
சரங்களை உள்ள [1] அல்லது சரங்களை [2], நாம் "woot" அழுத்தம் மிகவும் போது,
அது சரங்களை [1] உள்ள உறுப்பு அந்த வைக்கிறது.
ஒரு அடிப்படை மட்டத்தில், எப்படி இந்த பணிகளில் ஏதேனும் கேள்விகள் என்ன?
[சாம்] எனவே இந்த தொகை அடிப்படையில், எந்த வழியில் மாறும் அல்ல
அல்லது ஸ்டாக் அளவு அடிப்படையில்?
[Hardison] சரியாக. இது - இந்த இடத்தில் ஒரு மாறும் growning ஸ்டாக் இல்லை என்று இருந்தது.
இந்த மிக நான்கு விஷயங்களை நேரத்தில், மிக, நான்கு எரிப்பதை * வி, நடத்த முடியும் என்று ஒரு ஸ்டாக் இல்லை.
நாம் ஒரு ஐந்தாவது விஷயத்தை முயற்சி மற்றும் அழுத்தம் இருந்தால், நீங்கள் என்ன நடக்க வேண்டும் என்று நினைக்கிறீர்கள்?
[மாணவர்கள், புரிந்து]
[Hardison] சரியாக. நடக்கலாம் என்று விஷயங்கள் பல உள்ளன.
இது சாத்தியமான நாம் என்ன பொறுத்து, தவறு Seg -
எப்படி சரியாக நாம் மீண்டும் இறுதி செயல்படுத்தும்.
அதை மேலெழுத முடியாது. அதை நாம் வர்க்கத்தின் பற்றி பேசினார் என்று இடையக வழிதல் முடியும்.
என்ன மறைந்து இருக்கலாம் என்று மிக தெளிவாக விஷயம் என்று
நாம் ஸ்டேக் ஒரு கூடுதல் விஷயம் தள்ள முயற்சி என்றால்?
எனவே நீங்கள் ஒரு இடையக வழிதல் குறிப்பிட்டுள்ளார்.
அன்று முழுவதும் எழுதப்பட்ட அல்லது stomped செய்து என்று தான் இருக்கும் என்ன
நாம் ஒரு கூடுதல் விஷயம் தள்ள முயற்சி தற்செயலாக overflowed? என்றால்
[டேனியல், புரிந்து] >> சாத்தியமான.
ஆனால் ஆரம்பத்தில், என்ன நடக்கும்? நாம் ஒரு நான்காவது விஷயம் தள்ள முயற்சி என்ன?
குறைந்தபட்சம் நாங்கள் பெற்றுவிட்டோம் என்று இந்த நினைவகம் வரைபடத்துடன், அளவு மேலெழுதும் கூடும்.
>> பிரச்சனை தொகுப்பு குறிப்பீட்டில், இது, இன்று நாம் செயல்படுத்த வேண்டும் போகிறோம் என்ன
நாம் என்ன செய்ய வேண்டும் நான் தவறான திரும்பி வருகிறது.
எங்கள் உந்துதல் முறை, ஒரு பூலியன் மதிப்பை திரும்ப போகிறது
மிகுதி வெற்றியடைகிறது மற்றும் பூலியன் மதிப்பை உண்மையாக இருக்கும்
தவறான ஸ்டேக் முழு ஏனெனில் நாம் இன்னும் எதையும் தள்ள முடியாது.
இப்பொழுதே அந்த குறியீடு சிறிது மூலம் நடக்க இருக்கிறது.
இங்கே நம் மிகுதி விழா.
ஒரு அடுக்கு எங்கள் மிகுதி செயல்பாடு ஸ்டாக் வைக்க சரம் இல் நடக்கப்போகிறது.
சரம் வெற்றிகரமாக தள்ளப்படுகிறது என்றால் அது உண்மை திரும்ப நடக்கிறது
ஸ்டாக் மற்றும் தவறான இல்லையெனில் மீது.
என்ன எந்த ஆலோசனைகளை இங்கே செய்ய ஒரு நல்ல முதல் விஷயம் இருக்கும்?
அளவு திறன் சமமாக இருந்தால் [சாம்] பின்னர் தவறான திரும்ப?
[Hardison] பிங்கோ. நல்ல வேலை.
அளவு திறன் இருந்தால், நாம் தவறான திரும்ப போகிறோம்.
நாம் ஸ்டேக் இன்னும் எதையும் வைக்க முடியாது.
இல்லையெனில், நாங்கள் ஸ்டேக் மேல் ஏதாவது கொடுக்க வேண்டும்.
ஆரம்பத்தில் "ஸ்டாக் மேல்," என்ன இது?
[டேனியல்] அளவு 0? >> அளவு 0.
ஸ்டாக் உள்ள ஒரு விஷயம் பின்னர் ஸ்டேக் மேல் என்ன? சிறுமி, உனக்கு தெரியுமா?
[மிஸ்ஸி] ஒரு. >> அளவு சரியாக, ஒன்றாகும். நீங்கள், அளவு சேர்த்து வைத்து
நீங்கள் வரிசையில் குறியீட்டு அளவில் புதிய உறுப்பு உள்ள வைத்து நீங்கள் ஒவ்வொரு முறையும்.
என்று அர்த்தம் நாம், ஒரு லைனர் அந்த வகையான அதை செய்ய முடியும்.
நாம் சரங்களை வரிசை கிடைத்துவிட்டது ஆகவே, நாம், அளவு குறியீட்டு அதை அணுக போகிறீர்கள்
நாங்கள் அங்கு எமது எரிப்பதை * சேமிக்க போகிறோம்.
இல்லை சரம் நகலெடுத்து இங்கே அங்கே நடக்கிறது என்பதை கவனிக்க,
நினைவகம் இல்லை டைனமிக் ஒதுக்கீடு?
பின்னர் மிஸ்ஸி, நாம் இப்போது என்ன செய்ய வேண்டும் என்று கொண்டு
நாம் வரிசையில் சரியான இடத்தில் சரம் சேமித்த ஏனெனில்,
அவள் நாம் அடுத்த புஷ் தயாராக இருக்கிறோம் என்று ஒன்று அளவு அதிகரிக்கவில்லை என்று கூறினார்.
நாம் s.size மூலம் அதை செய்யலாம் +.
இந்த கட்டத்தில், நாங்கள் எங்கள் அணி தள்ளப்பட்டால். நாம் செய்ய வேண்டிய கடைசி விஷயம் என்ன?
[மாணவர்] உண்மையான செல். >> உண்மையான செல்.
அது, ஒரு அழகான எளிமையான குறியீடு அழகான எளிது. இல்லை அதிகம்.
நீங்கள், ஸ்டாக் எவ்வாறு சுற்றி உங்கள் தலையில் மூடப்பட்டிருக்கும்
இந்த செயல்படுத்த அழகான எளிது.
>> இப்போது, இந்த அடுத்த பகுதி ஸ்டேக் ஒரு சரம் ஆஃப் உறுத்தும்.
நான் உங்களுக்கு இந்த சிறிது வேலை செய்ய சில நேரம் கொடுக்க போகிறேன்.
இது கிட்டத்தட்ட அடிப்படையில் நாம் இங்கே மிகுதி உள்ள செய்துவிட்டேன் என்ன தலைகீழ் தான்.
நான் என்ன செய்துவிட்டேன் உண்மையில் - oops.
நான், இங்கு, மற்றும் பயன்பாட்டிற்கான ஒரு பயன்பாட்டு பொருட்களை துவங்கியதும்
நான் பிரச்சனை 5 விவரக்குறிப்பு அமைக்க இழுத்து.
நாம் இங்கே பெரிதாக்க என்றால், நாம் நான் cdn.cs50.net/2012/fall/psets/pset5.pdf இருக்கிறேன் பார்க்க முடியும்.
நீங்கள், இங்கே section6.zip அமைந்துள்ள என்று இந்த குறியீடு பதிவிறக்கம்?
எல்லாம் சரி. நீங்கள் உண்மையில் விரைவாக, இப்போது அதை செய்ய, அந்த செய்யவில்லை என்றால்.
நான் என் முனைய சாளரத்தில் அதை செய்கிறேன்.
நான் உண்மையில் இங்கே அது இல்லை. Yeah.
ஆமாம், சாம்? >> நான் ஏன் = str அளவு s.string 'கள் அடைப்புக்குறிக்குள் சொன்னார் பற்றி ஒரு கேள்வி?
Str என்ன? என்று முன்பு எங்கோ வரையறுக்கப்பட்ட, அல்லது - ஓ, கரி * str உள்ள?
[Hardison] ஆமாம், சரியாக. அந்த வாதம் இருந்தது. >> ஓ, சரி. மன்னிக்கவும்.
[Hardison] நாங்கள் உள்ளே தள்ள சரம் குறிப்பிடாமல்
நாம் உண்மையில் இங்கே பற்றி பேசவில்லை என்று வரும் என்று மற்ற கேள்வி
நாம் கள் என்று இந்த மாறி என்று வழங்கப்பட்டது நாம் எடுத்து
அந்த நோக்கம் மற்றும் எங்களுக்கு அணுக இருந்தது.
கள் இந்த ஸ்டேக் struct என்று வழங்கப்பட்டது நாம் எடுத்து.
எனவே, இந்த உந்துதல் குறியீடு திரும்பி பார்க்க
நீங்கள் நாம் கடந்து விட்டது என்பதை இந்த வாசகத்தில் பொருள் செய்கிறீர்கள் என்று பார்க்கலாம்
ஆனால் பின்னர் திடீரென்று, நாம் போன்ற, s.size அணுகும், கள் எங்கிருந்து வந்தது?
நாம் பிரிவில் காப்பகத்தில் பார்க்க போகிறோம் என்று குறியீடு
பின்னர் நீங்கள் உங்கள் பிரச்சனை என்ன என்று நான் பொருள், அமைக்கிறது
நாம் ஸ்டேக் உலக மாறி struct செய்துவிட்டேன்
நாம் பல்வேறு செயல்பாடுகளை அதை அணுக முடியும் என்று
கைமுறையாக அதை சுற்றி கடந்து மற்றும் குறிப்பு மூலம் அனுப்ப இல்லாமல்,
அது பொருள் அனைத்து வகையான செய்ய.
நாங்கள் இனிமையானதுமாகும் விஷயங்கள் செய்ய, நீங்கள் கூட, கொஞ்சம் ஏமாற்றி.
மேலும் அது வேடிக்கையாக இருக்கிறது, ஏனெனில் நாங்கள் இங்கே செய்கிறீர்கள் விஷயம், இது எளிதாக இருந்தது.
அவர்கள் ஒரு பெரிய தரவு அமைப்பு இருந்தால் பெரும்பாலும், நீங்கள் மக்கள் இதை பார்க்கலாம்
அவர்களின் திட்டம் உள்ளே இயக்கப்படும்.
>> இன் பயன்பாடு வழியாக திரும்பி செல்லலாம்.
அனைவரும் வெற்றிகரமாக section6.zip கிடைத்ததா?
அனைவரும் விரிவாக்கு section6.zip பயன்படுத்தி zip கோப்பை திறக்க?
நீங்கள் பகுதி 6 அடைவில் சென்றால் -
ஆ ஆ, எல்லா இடத்திலும் -
நீங்கள் இங்கே என்ன பட்டியலிட, நீங்கள் மூன்று வெவ்வேறு. கேட்ச் கோப்புகளை பெற்றுவிட்டோம் என்று பார்க்க.
நீங்கள் தனித்தனி தொடர்புடைய பட்டியலில் ஒரு வரிசை, ஒரு சோசலிச தொழிலாளர் கழகம், மற்றும் ஒரு அடுக்கு கிடைத்துவிட்டது.
நீங்கள் stack.c திறந்து இருந்தால்,
நீ, நாம் வரையறுக்கப்படுகிறது இந்த struct பெற்றுவிட்டோம் என்று பார்க்கலாம்
நாம் தான் ஸ்லைடுகள் பேசப்படுவோம் சரியான struct.
நாம், ஸ்டாக் எமது உலக மாறி கிடைத்துவிட்டது
நாம், நம் மிகுதி செயல்பாடு கிடைத்துவிட்டது
பின்னர் நாங்கள் எங்கள் பாப் செயல்பாடு கிடைத்துவிட்டது.
இங்கே ஸ்லைடு மீண்டும் தள்ள நான், குறியீடு வைக்கிறேன்
ஆனால் நான் உங்களுக்கு செய்ய விரும்பினால், உங்கள் திறனை சிறந்த உள்ளது
சென்று பாப் செயல்பாட்டை செயல்படுத்த.
நீங்கள் அதை செயல்படுத்த நான், நீ, ஸ்டாக் வைக்க இந்த தொகுக்க முடியும்
பின்னர், இதன் விளைவாக ஸ்டேக் இயங்கக்கூடிய ரன்
என்று கீழே இங்கே பிரதான உள்ள இந்த சோதனை குறியீடு அனைத்து இயங்கும்.
மற்றும் முக்கிய உண்மையில் புஷ் மற்றும் பாப் அழைப்புகளை செய்து பார்த்து கொள்கிறார்
எல்லாவற்றையும் சரியான வழியாக செல்கிறது என்பதை உறுதி செய்யும்.
இது சரியான இங்கு ஸ்டாக் அளவு துவக்கும்
நீ என்று ஆரம்பிக்கும் பற்றி கவலைப்பட வேண்டியது இல்லை.
நீங்கள் அதை சரியாக துவக்க பட்டது என்று நினைத்து கொள்ளுங்கள்
நீங்கள் அதை பாப் விழாவில் அணுக அந்த நேரத்தில்.
அந்த உணர்வு ஏற்படுத்தும்?
இங்கு நாம். மிகுதி குறியீடு உள்ளது.
நான் உங்களுக்கு 5 அல்லது 10 நிமிடங்கள் கொடுக்க வேண்டும்.
நீங்கள் குறியீட்டு நீங்கள் போது இடைக்கால உள்ள ஏதேனும் கேள்விகள் இருந்தால்,
இன்னும் சத்தமாக கேளுங்கள்.
நீங்கள் ஒரு வெட்டு புள்ளி கிடைக்கும் என்றால், நான் கேட்க.
மற்றவர்களை தெரியட்டும், எனக்கு தெரியப்படுத்துங்கள்.
உங்கள் அண்டை வேலை.
[டேனியல்] நாம் இப்போது பாப் செயல்படுத்தி வருகிறோம்? >> ஒரு பாப்.
நீங்கள் விரும்பினால் நீங்கள் மிகுதி செயல்படுத்த நகலெடுக்க முடியும் என்று
சோதனை வேலை செய்யும் என்று.
அது ஏற்பட்டதற்கு பொருட்களை சோதிக்க கடினம் என்பதால் -
அல்லது, அதை தொடங்க ஸ்டேக் ஒன்றும் இல்லை என்றால் ஒரு அடுக்கை உறுத்தும் பொருட்களை சோதனை கடினம்.
>> திரும்பி இருக்க வேண்டும் பாப் என்ன? ஸ்டாக் மேல் இருந்து உறுப்பு.
அது அடுக்கின் மேல் ஒரு உறுப்பு ஆஃப் பெற வேண்டும்
பின்னர், ஸ்டாக் அளவு குறைத்தல்
இப்போது நீங்கள் மேலே உறுப்பு இழந்துவிட்டேன்.
பின்னர் நீங்கள் மேலே உறுப்பு திருப்பி.
[மாணவர், புரிந்து]
[Hardison] அதனால் நீ செய்தால் என்ன நடக்கும்? [மாணவர், புரிந்து]
வரை நடக்கிறது முடிவடைகிறது என்ன ஒருவேளை நீங்கள் ஒன்று அணுகுவதை
ஒரு உறுப்பு இன்னும் துவக்க முடியவில்லை, எனவே உங்கள் கணக்கு
இது கடந்த உறுப்பு ஆஃப் எங்கே என்று.
நீங்கள் கவனிக்கவில்லையா என்றால் இங்கே, புஷ், நாம் s.size உறுப்பு உள்ள சரங்களை அணுகுவதை
இது ஒரு புதிய குறியீட்டு காரணம்.
இது ஸ்டேக் புதிய மேல் தான்.
பாப் அதேசமயம், s.size, அடுத்த இடத்தில் இருக்கும்
உங்கள் ஸ்டேக் அனைத்து கூறுகள் மேல் என்று வெளி.
அதனால் மேல் மிகவும் உறுப்பு, s.size இல்லை
மாறாக, அது கீழே உள்ளது.
>> நீங்கள் செய்ய வேறு விஷயம் - பாப் உள்ள,
நீங்கள் அளவை குறைத்தல் வேண்டும்.
நீங்கள் இங்கு எங்கள் சிறிய வரைபடம் திரும்ப நினைவில் இருந்தால்,
உண்மையில், நாம் நடந்து கண்டது என்று தான் நாங்கள் பாப் அழைத்த பொழுது
இந்த அளவு பின் 1, முதல் 2, கைவிடப்பட்டது என்று இருந்தது.
நாம் ஒரு புதிய உறுப்பு தள்ளி போது, அதை சரியான இடத்தில் சென்று விடும்.
[பசில்] s.size 2 இருந்தால், அது உறுப்பு 2 போக முடியாது,
பின்னர் நீங்கள் அந்த உறுப்பு ஆஃப் எடுக்க வேண்டும் என்று?
நாம் சென்று இருந்தால் - >> எனவே மீண்டும் இந்த பாருங்கள் நாம்.
இந்த கட்டத்தில் நம் ஸ்டேக் இருந்தால்
நாம், பாப் அழைப்பு
இதில் குறியீட்டு மேல் மிகவும் உறுப்பு ஆகும்?
[பசில்] 2 மணிக்கு, ஆனால் அது 3 எடுக்க நடக்கிறது. >> வலது.
நமது அளவு 3 எங்கே என்று, ஆனால் நாம் குறியீட்டு 2 உறுப்பு எடுக்க வேண்டும்.
அதை நீங்கள் வரிசைகளின் பூச்சிய அட்டவணையிடுதல் இருக்கும் என்று ஒன்று உண்டு என்று பொதுவான வகையான தான்.
அதனால் மூன்றாவது உறுப்பு எடுக்க வேண்டும், ஆனால் மூன்றாவது உறுப்பு குறியீட்டு 3 இல்லை.
மற்றும் நாம் தள்ளும் போது அந்த கழித்து 1 செய்ய இல்லை காரணம்
இப்போது தான், நீங்கள் கவனிக்கவில்லையா என்று மேல் மிகவும் உறுப்பு,
நாம் இந்த இடத்தில் அடுக்கு மீது வேறு தள்ள இருந்தால்,
நாம் குறியீட்டு 3 அது தள்ள வேண்டும்.
இது தான் நீங்கள் தள்ளும் போது அளவு மற்றும் குறியீடுகள் வரிசையாக நடக்கிறது.
>> ஒரு வேலை ஸ்டேக் செயல்படுத்த இருக்கிறது?
நீங்கள் ஒரு வேலை ஸ்டேக் ஒரு கிடைத்துவிட்டது. பாப் இன்னும் நீங்கள் வேலை?
[டேனியல்] ஆமாம். நான் அப்படி நினைக்கவில்லை.
>> நிரல் இயங்கும் மற்றும் வகை பெயர்ச்சிகள் Seg இல்லை, அது அச்சிடுகிறது?
நீங்கள் அதை இயக்குவதற்கு போது அதை "வெற்றி" அவுட் அச்சிட?
Yeah. அதை "வெற்றி" அவுட் அச்சிடுகிறது மற்றும் ஏற்றம் செல்வது என்றால், குவியலாக இதை இயக்க,
பின்னர் அனைத்து நல்லது.
எல்லாம் சரி. உலகின் மிகவும் விரைவாக சாதனம் வழியாக செல்லலாம்,
நாம் இந்த வழியாக செல்வேன்.
நாம் பாப் இங்கு என்ன நடக்கிறது பாருங்கள், நீங்கள்
டேனியல், நீங்கள் அந்த முதல் காரியம் என்ன?
[டேனியல்] s.size 0 அதிகமாக இருந்தால்.
[Hardison] சரி. நீங்கள் ஏன் அதை செய்தாய்?
[டேனியல்] ஸ்டேக் உள்ளே ஏதோ என்று உறுதி செய்ய.
[Hardison] ரைட். நீங்கள் s.size 0 பெரியது என்று உறுதி செய்ய சோதிக்க வேண்டும்;
இல்லையெனில், நீங்கள் நடக்க வேண்டும் என்று விரும்புகிறீர்கள்?
[டேனியல்] மீண்டும் பூஜ்ய? >> மீண்டும் பூஜ்ய, சரியாக.
நீங்கள் s.size 0 அதிகமாக இருக்கும். நாம் என்ன செய்ய போகிறோம்?
ஸ்டாக் காலியாக இல்லை என்றால் நாம் என்ன செய்வது?
[ஸ்டெல்லா] நீங்கள் அளவை குறைத்தல்? நீங்கள் நன்றாக, அளவு குறைத்தல்.
நீ எப்படி செய்தாய்? >> S.size -.
[Hardison] கிரேட். பின்னர் நீ என்ன செய்தாய்?
[ஸ்டெல்லா] பிறகு நான் திரும்பி s.string கூறினார் [s.size].
[Hardison] கிரேட்.
மற்றபடி நீங்கள் வெற்று திருப்பி. ஆமாம், சாம்?
[சாம்] ஏன் + 1 s.size வேண்டும் இல்லை?
[Hardison] பிளஸ் 1? >> சரி. >> புரிந்தது.
நீங்கள் 1 ரன் எடுத்து வருகிறோம் ஏனெனில் [சாம்] நான் நினைத்தேன்,
பிறகு அவர்கள் கேட்ட ஒரு திரும்பிய போகிறாய்.
[Hardison] இந்த நாங்கள் 0 குறியீடுகள் இந்த பிரச்சனை பற்றி பேசி கொண்டிருந்தோம் தான் என்ன.
எனவே நாம் இங்கு மீண்டும் பெரிதாக்க வேண்டும்.
நாம் இங்கேயே இந்த பையன் பார்த்தால், நீங்கள், நாங்கள் பாப் என்று பார்க்கலாம்
நாம் குறியீட்டு 2 உறுப்பு உறுத்தும்.
>> எனவே நாம் நமது அளவு நம் குறியீட்டு பொருந்தும், முதல் எங்கள் அளவு குறைந்துவிடும்.
நாம் முதல் அளவு குறைத்தல் என்றால், நாம் -1 பின்னர் குறைப்பு அளவு செய்ய வேண்டும்.
பெரிய. அனைத்து நல்ல?
இந்த கேள்விகள்?
இந்த அத்துடன் எழுத வேறு பல வழிகள் உள்ளன.
உண்மையில், நாங்கள் ஏதாவது செய்ய முடியும் - நாம் ஒரு லைனர் செய்ய முடியும்.
நாம் ஒரு வரியை திரும்ப செய்ய முடியும்.
நாம் செய்து வரும் முன் நாம் உண்மையில் கழி முடியும்.
எனவே வைத்தது - s.size முன்.
அந்த வரிசையில் மிகவும் அடர்த்தியான செய்கிறது.
அங்கு உள்ள வித்தியாசம் -. கள் அளவு மற்றும் s.size -
என்று இந்த பின்இணைப்பு - ஏனெனில் அவர்கள் பின்இணைப்பு அழைப்பு - வந்தவுடன் s.size -
s.size குறியீட்டு கண்டறியும் காரணங்களுக்காக மதிப்பீடு என்று அர்த்தம்
இந்த வரி நிறைவேற்றப்பட்ட போது தற்போது உள்ளது,
பின்னர் இந்த - லைன் கொலை விடும் பிறகு நடக்கும்.
குறியீட்டு s.size உள்ள உறுப்பு அணுக பிறகு.
நாம் குறைப்பு முதல் நடக்க வேண்டும், ஏனெனில் அது, நாம் என்ன தேவை இல்லை.
Othewise, நாம் வரிசை அணுகும் போகிறாய், திறம்பட, எல்லைக்கு வெளியே.
நாம் உண்மையில் அணுக வேண்டும் என்று ஒரு மேலே உறுப்பு அணுகும் போகிறாய்.
சரி, சாம்? >> அது வேகமாக அல்லது ஒரு வரி இல்லையா செய்ய குறைந்த ரேம் பயன்படுத்த முடியுமா?
[Hardison] சத்தியமாக, உண்மையாக உள்ளது.
[சாம், புரிந்து] >> சரி, அது தங்கியுள்ளது. நீங்கள் தொகுப்பி தந்திரங்களை செய்ய முடியும்
என்று அங்கீகரிக்க தொகுப்பி பெற, பொதுவாக, நான் கற்பனை.
>> எனவே நாம் இந்த தொகுப்பி உகந்ததாக்கல் விஷயங்களை பற்றி கொஞ்சம் குறிப்பிட்டுள்ளார்
நீங்கள், ஒடுக்குவதற்கான செய்ய முடியும் என்று
என்று, ஒரு தொகுப்பி கண்டுபிடிக்க முடியும் என்று தான் என்ன தான்
ஓ போல, ஏ, ஒருவேளை நான், ஒரு அறுவை சிகிச்சை இந்த அனைத்து செய்ய முடியும்
என ரேம் இருந்து அளவு மாறி ஏற்றும் எதிராக,
, அதை decrementing மீண்டும் அதை சேமித்து, மீண்டும் அதை திரும்ப ஏற்றும்
இந்த நடவடிக்கை மற்ற செயல்படுத்த.
ஆனால் பொதுவாக, இல்லை, இந்த விஷயம் வகையான அல்ல
அந்த அளவிற்கு வேகமாக உங்கள் உருவாக்க நடக்கிறது.
ஸ்டாக்குகள் எந்த கேள்விகள்?
>> எனவே அழுத்தம் மற்றும் உறுத்தும். நீங்கள், ஹேக்கர் பதிப்பு முயற்சிக்க வேண்டும்
என்ன நாம் ஹேக்கர் பதிப்பில் செய்த உண்மையில் போய்விட்டது
இந்த ஸ்டேக் மாறும் வளர வேண்டும்.
இங்கு மிகுதி செயல்பாடு முதன்மையாக உள்ளது சவால்,
அந்த வரிசையில் வளர எப்படி கண்டுபிடிக்க
நீங்கள் ஸ்டேக் மீது மேலும் கூறுகள் தள்ளி வைக்க வேண்டும்.
அது உண்மையில் மிகவும் கூடுதல் குறியீடு அல்ல.
நீங்கள் ஒழுங்காக அங்கு malloc அழைப்புகளை பெற நினைவில் வேண்டும், - என்று ஒரு அழைப்பு
நீங்கள் realloc அழைக்க போகிறோம் போது பிறகு கண்டுபிடித்தார்கள்.
ஆர்வம் இருந்தால், ஒரு வேடிக்கை சவாலாக உள்ளது.
>> ஆனால் தற்போதைக்கு, அது மேலே நாம், மற்றும் வரிசைகளை பற்றி பேச நாம்.
இங்கே ஸ்க்ரோல்.
வரிசை ஸ்டேக் நெருங்கிய உறவினர் ஆவார்.
எனவே அடுக்கில், அந்த விஷயங்கள் கடந்த வைக்கப்பட்டனர்
பின்னர் எடுக்கப்பட்ட முதல் விஷயங்கள் இருந்தன.
நாம் ஆர்டர், இந்த, கடந்த அவுட் முதல், அல்லது LIFO கிடைத்துவிட்டது.
வரிசையில் அதேசமயம், நீங்கள் வரிசையில் நின்று போது எதிர்பார்க்க அப்படியே,
வரிசையில் பெற முதல் நபர், வரிசை பெற முதல் காரியம்,
வரிசையில் இருந்து பெறப்பட்டது விடும் என்று முதல் விஷயம்.
நாம் வரைபடங்கள் கையாளும் போது வரிசைகளில் பெரும்பாலும், பயன்படுத்தப்படுகின்றன
நாம் அடுக்குகள் கொண்ட சுருக்கமாக பேசினார், போன்ற
மற்றும் வரிசைகளை மற்ற விஷயங்களை ஒரு கூட்டத்தை கூட எளிது அல்ல.
அடிக்கடி வரும் என்று ஒன்று, உதாரணமாக, தக்க முயற்சி
தனிமங்களின் ஒரு வரிசைப்படுத்தப்பட்ட பட்டியலை.
நீங்கள் ஒரு வரிசையில் இந்த செய்ய முடியும். நீங்கள், ஒரு வரிசையில் விஷயங்களை ஒரு வரிசைப்படுத்தப்பட்ட பட்டியலை பராமரிக்க முடியும்
ஆனால் அந்த தந்திரமான பெறுகிறார் பிறகு எங்கே நீங்கள் எப்போதும் கண்டுபிடிக்க வேண்டும்
அடுத்த விஷயம் செருக பொருத்தமான இடத்தில்.
நீங்கள் 10 மூலம் எண்கள் ஒரு வரிசையில், 1 வேண்டும் என்றால்,
பிறகு, 100 மூலம் அனைத்து எண்கள் 1 என்று கொள்ள வேண்டும்
நீங்கள் சீரற்ற வரிசையில் இந்த எண்கள் பெற எல்லாம் வைக்க
நீங்கள் செல்ல என பிரிக்கப்பட்டு, நீங்கள் மாற்றுவதால் நிறைய செய்ய இருப்பதாக முடியும்.
வரிசைகளை மற்றும் அடிப்படை தரவு கட்டமைப்புகள் சில வகை வகையான கொண்டு,
நீங்கள் உண்மையில் இது மிகவும் எளிமையான முடியும்.
நீங்கள் ஏதாவது சேர்த்து முழு விஷயம் ஒவ்வொரு முறையும் மறுசீரமைப்பில் இல்லை.
அல்லது உங்களை சுற்றி உள் உறுப்புகள் மாற்றுவதால் நிறைய செய்ய வேண்டும்.
நாம் வரிசையில் இருக்கும் போது, நீங்கள் பார்க்க - மேலும் queue.c பிரிவு குறியீடு -
நாங்கள் உங்களுக்கு கொடுத்த struct நாம் ஒரு ஸ்டேக் நீங்கள் கொடுத்த struct மிகவும் ஒத்ததாக இருக்கிறது.
>> இந்த ஒரு விதிவிலக்கு இல்லை, அது ஒரு விதிவிலக்கு
நாம் தலை என்று இந்த கூடுதல் முழு வேண்டும் என்று,
இங்கு தலை, வரிசை தலைவர் கண்காணிப்பதற்கான உள்ளது
வரிசையில் அல்லது முதல் உறுப்பு.
ஒரு அடுக்கு கொண்ட, நாம், நாம் மீட்டெடுக்க பற்றி என்று உறுப்பு கண்காணிப்பதற்கான முடிந்தது
ஒரு அளவு பயன்படுத்தி ஸ்டேக்கின் அல்லது மேல்,,
வரிசையில் உள்ள அதேசமயம், நாங்கள் எதிர் முனைகளில் சமாளிக்க நேர்கிறது.
நாம் பிசுப்பு இறுதியில் உள்ள விஷயங்களை முயற்சி, ஆனால் பின்னர் முன்னால் இருந்து பொருட்களை திருப்பி.
எனவே திறமையுடன், தலை, நாம், வரிசை தொடக்கத்தில் குறியீட்டெண் வேண்டும்
மற்றும் அளவு நம்மை வரிசை இறுதியில் அட்டவணை கொடுக்கிறது
நாம் தலை இருந்து பொருட்களை பெற மற்றும் வால் மீது விஷயங்களை சேர்க்க முடியும்.
அடுக்கு கொண்ட அதேசமயம், நாம் மட்டுமே இதுவரை ஸ்டேக் மேல் கையாள்வதில் இருந்தன.
நாம் ஸ்டேக் கீழே அணுக வேண்டும்.
நாம் மட்டும் மேலே விஷயங்களை சேர்க்க மற்றும் மேல் பொருட்களை கழற்றி
எனவே நாம் நமது struct உள்ளே அந்த கூடுதல் துறையில் தேவை இல்லை.
என்று பொதுவாக பயன்?
எல்லாம் சரி. ஆமாம், சார்லோட்? [சார்லோட், புரிந்து]
[Hardison] அது ஒரு பெரிய கேள்வி, மற்றும் விரிவுரையில் வந்தது என்று இருந்தது.
ஒருவேளை ஒரு சில உதாரணங்கள் மூலம் நடைபயிற்சி விளக்கும் ஏன்
நாம் சரங்களை வரிசை தலைவராக [0] பயன்படுத்த விரும்பவில்லை.
>> எனவே நாம் நமது வரிசை என்று நினைத்து, அதை வரிசை அழைக்க போகிறோம்.
ஆரம்பத்தில், நாம் அதை instantiated போது,
நாம் அதை அறிவித்தார் போது, நாம் எதையும் துவக்கப்படும்.
இது அனைத்து குப்பை தான். எனவே நிச்சயமாக நாம் துவக்க என்பதை உறுதி செய்ய வேண்டும்
அளவு மற்றும் தலைவர் துறைகளில் இரு நியாயமான 0, ஏதாவது இருக்க வேண்டும்.
நாங்கள் போய் எங்கள் வரிசையில் உறுப்புகள் வெளியே பூஜ்ய முடியும்.
இந்த வரைபடம் பொருத்தம் செய்ய, இப்போது எங்கள் வரிசையில் மூன்று கூறுகளை நடத்த முடியாது என்று அறிவிப்பு;
எங்கள் அடுக்கு நான்கு நடத்த முடியும் அதேசமயம், நமது வரிசையில் மூன்று நடத்த முடியும்.
அந்த வரைபடம் பொருத்தம் செய்ய மட்டும் தான்.
இங்கே நடக்கும் என்று முதல் விஷயம் நாம் "வணக்கம்" சரம் என்கியூ உள்ளது.
மற்றும் போல் நாம் ஸ்டேக் செய்ததை, இங்கே மோசமாக வேறு எதுவும்,
நாம் சரங்களை உள்ள [0] மற்றும் 1 நம் அளவு அதிகரிக்கவில்லை மீது சரம் எறியுங்கள்.
நாம் "பை" என்கியூ, அதை வைத்து.
இந்த மிக பகுதியாக ஒரு அடுக்கு தெரிகிறது.
நாம், இங்கு புதிய உறுப்பு, புதிய உறுப்பு தொடங்கியது, அளவு சென்று கொண்டிருக்கிறது.
நாம் ஏதாவது dequeue வேண்டும் போது என்ன இந்த கட்டத்தில் நடக்கும்?
நாம் dequeue வேண்டும் போது, அதில் நாம் dequeue வேண்டும் என்று உறுப்பு ஆகும்?
[பசில்] சரங்கள் [0]. >> ஜீரோ. சரியாக, பசில்.
நாம் முதல் சரம், இந்த, "வணக்கம்" பெற வேண்டும்.
எனவே மாற்றம் மற்ற விஷயம் என்ன?
நாம் ஸ்டேக்கின் ஏதாவது ஆஃப் தெரித்து போது கவனிக்க, நாம் தான், அளவு மாற்றம்
ஆனால் இங்கே, நாம் மாற்றம் விஷயங்களை ஒரு ஜோடி கிடைத்திருக்கிறது.
அளவு மாற்றம், ஆனால் தலை மாற்றங்கள் இல்லை தான்.
இந்த முந்தைய சார்லோட் புள்ளி மீண்டும் வருகிறது:
ஏன் நாம் இந்த தலை இருக்கிறது?
அது, இப்போது சார்லோட் உணர்வு ஏற்படுத்தும்? ஒரு >> கைண்ட்.
ஒரு [Hardison] கைண்ட்? நாம் dequeued போது அதனால் என்ன நடந்தது?
தலை இப்போது சுவாரஸ்யமான என்று என்ன செய்தாய்?
அதை மாற்ற [சார்லோட்] ஓ, ஏனெனில் - பரவாயில்லை. நான் பார்க்கிறேன்.
ஏனெனில் தலைவர் - தலைமை இடம் ஆகியவற்றில் மாற்றங்களை சுட்டி அமைந்துள்ள.
அது இனி எப்போதும் பூஜ்யம் குறியீட்டு தான். >> சரி, சரியாக.
உயர் உறுப்பு dequeueing என்ன நடந்தது
செய்யப்பட்டது நாம் இந்த தலை புலம் இல்லை
நாம் எப்போதும் 0 குறியீட்டு எங்கள் வரிசை தலைமை இந்த சரம் அழைப்பு ஏனெனில்,
நாம் வரிசையில் மீதமுள்ள கீழே மாற்ற வேண்டும் என்று.
நாம் சரங்களை இருந்து இருந்து "பை" [1] மாற்ற [0] சரங்களை வேண்டும் என்று.
மற்றும் சரங்களை [2] கீழே வேண்டிய சரங்களை [1].
நாம், உறுப்புகள் முழு பட்டியலை செய்ய வேண்டும் என்று
கூறுகளை முழு வரிசை.
நாம் ஒரு வரிசைக்கு இந்த செய்கிறீர்கள் போது, உண்மையில் செலவு செய்தார்.
இங்கு, இது ஒரு பெரிய விஷயம் இல்லை. நாம் நமது அணி மூன்று கூறுகள் உள்ளன.
ஆனால் நாம் ஒரு ஆயிரம் தனிமங்களை ஒரு வரிசை அல்லது ஒரு மில்லியன் கூறுகள் இருந்தால்,
பின்னர், திடீரென்று, நாம் dequeue ஒரு கூட்டத்தை செய்ய, ஒரு வட்டத்திற்கு அனைத்து அழைப்பு
விஷயங்கள் உண்மையில் அது தொடர்ந்து எல்லாம் கீழே சாதனம் என்று மெதுவாக போகிறது.
உங்களுக்கு தெரியும், 1 மாற்றம், 1 1, மாற்றம் மூலம், 1 மாற்றத்தை மாற்ற.
அது உண்மையில் ஒரு சுட்டிக்காட்டி இல்லை என்றாலும், அதற்கு பதிலாக, நாம் இந்த தலை பயன்படுத்த, அதை ஒரு "சுட்டிக்காட்டி" அழைப்பு
கடுமையான அர்த்தத்தில் இது ஒரு சுட்டிக்காட்டி வகை அல்ல.
அது ஒரு முழு எண்ணாக * அல்லது ஒரு எரிப்பதை * அல்லது அப்படி எதுவும் இல்லை.
ஆனால் அதை சுட்டி அல்லது எங்கள் வரிசை தலைவர் குறிக்கும். அப்படியா?
>> [மாணவர்] தான் தலைமை என்ன ஆஃப் எடுக்க எப்படி dequeue தெரியும்?
[Hardison] எப்படி dequeue தலைவராக தான் என்ன ஆஃப் எடுக்க எப்படி தெரியும்? >> வலது, yeah.
>> என்ன அதை பார்த்து தான் அமைக்கப்பட்டால் தான் என்ன தலை துறை ஆகும்.
நாம் இங்கே இருக்கும் இந்த முதல் வழக்கில், என்றால்,
எங்கள் தலைவர் 0, குறியீட்டு 0 ஆகும். >> வலது.
[Hardison], அது சரியா, நன்றாக, குறியீட்டு 0 உறுப்பு, சரம் "ஹாய்" என்கிறார் எனவே
எங்கள் வரிசை தலைமை உறுப்பு ஆகும்.
எனவே நாம் அந்த பையன் dequeue போகிறோம்.
என்று அழைப்பாளர் திரும்பி விடும் என்று உறுப்பு இருக்கும்.
ஆமாம், Saad? >> எனவே தலை அடிப்படையில் அமைக்க - நீங்கள் குறியீட்டு அதை போகிறோம் எங்கே?
அது தொடக்கத்தில் தான்? >> சரி. சரி >>.
[Hardison] எங்கள் அணியின் புதிய தொடக்கத்தை வருகிறது என்று.
எனவே நீங்கள் ஏதோ dequeue போது, நீங்கள் செய்ய வேண்டியது எல்லாம், குறியீட்டு q.head உள்ள உறுப்பு அணுக உள்ளது
என்று நீங்கள் dequeue வேண்டும் என்று உறுப்பு இருக்கும்.
நீங்கள் அளவை குறைத்தல் வேண்டும்.
எல்லாம் இந்த ஒரு சிறிய தந்திரமான இங்கு நாம் ஒரு பிட் ல் பார்க்கலாம்.
நாங்கள் மீண்டும் என்கியூ நாம், இப்போது dequeue, மற்றும்
நாம் எங்கே என்கியூ?
எங்கே அடுத்த உறுப்பு எங்கள் வரிசையில் போய் கொண்டிருக்கிறது?
நாம் சரம் "CS" என்கியூ வேண்டும் என்று.
அது குறியீட்டு போகும்? [மாணவர்கள்] சரங்கள் [2]. >> இரண்டு.
ஏன் 2 மற்றும் 0?
[பசில்] இப்போது தலை 1 ஏனென்றால், பட்டியல் தொடக்கத்தில் போன்ற அதனால்?
[Hardison] ரைட். என்ன பட்டியலை இறுதி குறிக்கிறது?
நாம் வரிசை இறுதியில் குறிக்க என்ன பயன்படுத்தி?
தலைவர் நம் வரிசை தலைவர், எங்கள் வரிசை ஆரம்பம்.
எங்கள் வரிசை முடிவில் என்ன ஆகும்? [மாணவர்கள்] அளவு. >> அளவு, சரியாக.
நமது புதிய உறுப்புகள் அளவில் சென்று, நாம் எடுத்து கூறுகள் ஆஃப் தலைவராக இருந்து வரும்.
அடுத்த உறுப்பு என்கியூ போது, நாங்கள் அளவில் அதை வைத்து.
[மாணவர்] முன் நீங்கள் என்றாலும் இல், அளவு சரியாக, 1 என்று வைத்து?
[Hardison] ரைட். அப்படி இல்லை மிகவும் அளவில். அளவு + +1 செய்ய, ஆனால் + தலைவர்.
நாம் தலை அளவு எல்லாவற்றையும் மாற்றம் காரணமாக.
இங்கு, இப்போது நாம் குறியீட்டு 1 மணிக்கு தொடங்குகிறது அந்த அளவு 1 வரிசையில் கிடைத்துவிட்டது.
வால் குறியீட்டு 2. ஆமாம்?
>> [மாணவர்] என்ன நடக்கும் போது நினைவகத்தில் நீங்கள் dequeue சரங்களை [0], மற்றும் சரங்களை 'இடங்கள்
நான் அடிப்படையில், காலி செய்து, அல்லது மறந்து?
[Hardison] சரி. இந்த அர்த்தத்தில், நாம் அவர்களை மறந்து.
நாம் அவர்களை பிரதிகளை சேமித்து இருந்தால் -
பல தரவு கட்டமைப்புகள் பெரும்பாலும் உறுப்புகள் தங்கள் பிரதிகளை சேமிக்கும்
தரவு கட்டமைப்பு மேலாண்மை நபர் கவலைப்பட இல்லை என்று
அந்த சுட்டிகள் எங்கே போகிறோம் பற்றி.
தரவு அமைப்பு அனைத்தையும் மீது வைத்திருக்கும், அனைத்து பிரதிகள் மீது வைத்திருக்கும்
எல்லாம் சரியான தொடர்ந்தால் என்பதை உறுதி செய்ய.
எனினும், இந்த விஷயத்தில், இந்த தரவு கட்டமைப்புகள் தான், எளிமை வேண்டும்,
நாம் அவர்களை சேமித்து என்று எதுவும் பிரதிகளை உருவாக்கும்.
[மாணவர்] இந்த ஒரு தொடர் வரிசை உள்ளது -? >> ஆமாம்.
நாம் வரையறை இந்த அமைப்பு என்ன வந்து பார் என்றால், அது.
அது, நீங்கள் பார்த்த மாதிரி ஒரு நிலையான வரிசை தான்
கரி * கள் ஒரு வரிசை.
அப்படி -? >> ஆமாம், நான் யோசித்தேன்
நீங்கள் இறுதியில் ஒரு குறிப்பிட்ட அளவிற்கு, நினைவகம் ரன் அவுட், நான் என்றால்
உங்கள் வரிசையில் இந்த வெற்று புள்ளிகள் இருந்தால்?
[Hardison] சரி, ஒரு நல்ல விஷயம்.
>> நாம் இந்த இடத்தில் இப்போது என்ன ஆயிற்று ஆனால், நீங்கள்
நாம் வரிசை வரை பூர்த்தி செய்து, அதை போல.
ஆனால் உண்மையில் நம் வரிசை பூர்த்தி செய்யப்பட்ட இல்லை
நாம் அளவு 2 என்று ஒரு வரிசை உள்ளது, ஆனால் அதை குறியீட்டு 1 தொடங்குகிறது ஏனெனில்,
எங்கள் தலைவர் சுட்டிக்காட்டி எங்கே என்று தான்.
நீ சொல்வதை போல, அந்த சரங்களை உள்ள உறுப்பு [0], குறியீட்டு 0, உண்மையில் இல்லை.
இது இனி நம் வரிசையில் இல்லை.
நாம் சென்று நாம் dequeued போது அதை மேலெழுத கவலைப்படவில்லை.
எனவே நினைவகத்தை ரன் அவுட் போல் தெரிகிறது கூட, நாம் உண்மையில் இல்லை.
நாம் பயன்படுத்த வேண்டும் என்று இடத்தில் உள்ளது.
சரியான நடத்தை, நாம் dequeue ஏதாவது முயற்சி மற்றும் முதல் என்றால்
பாய் ஆஃப் பாப் என்று, "பை" போன்ற.
இப்போது எங்கள் வரிசை அட்டவணை 2 மணிக்கு தொடங்குகிறது அளவு 1 ஆகும்.
நாம் மீண்டும் ஏதாவது முயற்சி மற்றும் என்கியூ என்றால், இப்போது, 50 என்று
50 குறியீட்டெண் 0 இந்த இடத்தில் போக வேண்டும்
அது இன்னும் நமக்கு கிடைக்க காரணம். ஆமாம், Saad?
[Saad] என்று தானாக நடக்கும்?
[Hardison] இது தானாக நடக்காது. நீங்கள் கணித செய்ய வேண்டும்
இது வேலை செய்ய, ஆனால் அடிப்படையில் என்ன செய்தோம் நாம் தான் சுற்றப்பட்டுள்ள விட்டேன் என்று.
இது நடுவில் ஒரு ஓட்டை இருந்தால் [Saad] இது சரியா?
[Hardison] நாம் கணித ஒழுங்காக வேலை செய்ய முடியும் என்றால் இது.
>> மற்றும் அது உண்மையில் மோட் ஆபரேட்டர் செய்ய வேண்டும் என்று கடுமையாக இல்லை என்று கூறினார்.
எனவே போல் நாம், சீசர் மற்றும் crypto பொருள் செய்தாள்
மோட் பயன்படுத்தி, நாம் விஷயங்களை சுற்றி பெற போகும் முடியும்
எங்கள் வரிசை சுற்றி சுற்றி சுற்றி கொண்டு,
என்று தலையில் சுட்டிக்காட்டி சுற்றி நகரும் வைத்து.
அந்த அளவு கவனிக்க எப்போதும் வரிசையில் உள்ள உண்மையில் கூறுகள் எண்ணிக்கை மரியாதை.
மற்றும் அது வழியாக சைக்கிள் வைத்திருப்பார் என்று தலைவர் சுட்டிக்காட்டி இருக்கிறார்.
நாம் தொடக்கத்தில் மீண்டும் சென்றால், இங்கு என்ன நடந்தது, பார் என்றால்
மற்றும் நீ தலையில் என்ன இருக்கு
நாம் ஏதாவது என்கியூ போது, எதுவும் தலைவர் நடந்தது.
நாம் வேறு ஏதாவது வரிசைப்படுத்தப்படவில்லை போது, எதுவும் தலைவர் நடந்தது.
நாம் ஏதாவது dequeued விரைவில், தலையை ஒரு மூலம் செல்கிறது.
நாம் ஏதாவது வரிசைப்படுத்தப்படவில்லை, எதுவும் தலையில் நடக்கிறது.
நாம் ஏதாவது dequeue போது, திடீரென்று தலை incremented.
நாம் ஏதாவது என்கியூ போது, எதுவும் தலையில் நடக்கிறது.
>> நாம் மீண்டும் ஏதாவது dequeue என்றால் என்ன இந்த கட்டத்தில் நடக்கும்?
எந்த எண்ணங்கள்? என்ன தலையில் நடக்கும்?
தலையில் என்ன நடக்க வேண்டும்
நாம் வேறு ஏதாவது dequeue என்றால்?
தலைவர் இப்போது, குறியீட்டு 2 உள்ளது
இதில் வரிசை தலைவர் சரங்களை [2] என்று பொருள்.
[மாணவர்] 0 கொடுக்கிறது எது? >> இது 0 திரும்ப வேண்டும். அதை சரியாக, சுற்றி மீண்டும் மடிக்க வேண்டும்.
இதுவரை, நாம் dequeue என்று ஒவ்வொரு முறையும், நாம், தலையில் ஒரு சேர்ப்பதன்
தலையில் ஒரு சேர்க்க, தலையில் ஒரு சேர்க்க, தலையில் ஒரு சேர்க்க.
என்று தலையில் சுட்டிக்காட்டி நமது அணி கடந்த குறியீட்டு கிடைத்தால், விரைவில்
நாம் துவக்கத்தில் சுற்றி திரும்பி மடிக்க வேண்டும், 0 செல்ல.
[சார்லோட்] என்ன ஒரு அடுக்கில் வரிசை திறன் தீர்மானிக்கிறது?
[Hardison] இந்த வழக்கில், நாம் ஒரு # வரையறுக்கப்பட்ட நிலையான பயன்படுத்தி. சரி >>.
[Hardison] உண்மையான. கேட்ச் கோப்பு, நீங்கள் ஒரு சிறிய பிட் மற்றும் அழுக்கு போக முடியும்
அது பெரிய அல்லது நீங்கள் விரும்பினால் போன்ற சிறிய செய்து.
[சார்லோட்] எனவே நீங்கள் வரிசையில் செய்யும் போது, நீங்கள் கணினி என்று எப்படி செய்கிறீர்கள்
நீங்கள் ஸ்டேக் வேண்டும் எப்படி பெரிய?
[Hardison] அது ஒரு பெரிய கேள்வி.
வழிகளில் இரண்டு உள்ளன. ஒரு சில முன் அதை வரையறை உள்ளது
இந்த சொல்ல 4 உறுப்புகள் அல்லது 50 உறுப்புகள் அல்லது 10,000 என்று ஒரு வரிசை இருக்கும்.
வேறு வழி ஹேக்கர் பதிப்பு எல்லோரும் செய்கிறார்கள் என்ன செய்ய வேண்டும்
மேலும் பொருட்களை உள்ளே சேர்க்கப்படும் உங்கள் வரிசை மாறும் வளர வேண்டும் செயல்பாடுகளை உருவாக்க
>> [சார்லோட்] எனவே முதல் விருப்பத்தை செல்ல, நீங்கள் என்ன இலக்கணத்தை பயன்படுத்தும்
நிரல் சொல்ல வரிசை அளவு என்ன?
[Hardison] ஆ. எனவே இந்த வெளியே விடுங்கள்.
நான் இங்கே stack.c இன்னும் இருக்கிறேன், அதனால் நான் இங்கே மேலே மேலே போகிறேன்.
நீங்கள் இந்த உரிமையை இங்கு காண முடியும்? இந்த # கொள்ளளவு 10 வரையறை உள்ளது.
இந்த நாங்கள் வரிசைக்கும் வேண்டும் என்று கிட்டத்தட்ட அதே இலக்கணத்தை உள்ளது.
வரிசையில் தவிர, நாம் இங்கே அந்த கூடுதல் struct துறையில் கிடைத்துவிட்டது.
[சார்லோட்] ஓ, நான் திறன் சரம் திறன் பொருள் என்று.
[Hardison] ஆ. இது வார்த்தை அதிகபட்ச நீளம் தான் >>. >> புரிந்தது.
Yeah. இங்கே திறன் - அந்த ஒரு பெரிய விஷயம்.
இந்த தந்திரமான என்று ஒன்று உள்ளது
நாம் இங்கே அறிவித்தார் நான் எரிப்பதை * கள் ஒரு வரிசைக்கு காரணம்.
சுட்டிகள் ஒரு வரிசை.
இந்த எழுத்துகள் ஒரு வரிசை ஆகும்.
இந்த கோப்பு உங்கள் ஃப்பர் அறிவித்தார் வருகிறோம் போது பார்த்ததை ஒருவேளை நான் / ஓ,
நீங்கள் ஸ்டேக்கில் கைமுறையாக சரங்களை உருவாக்கும் போது.
எனினும், நாம் இங்கே கிடைத்துவிட்டது எரிப்பதை * கள் ஒரு வரிசை ஆகும்.
அது சுட்டிகள் ஒரு வரிசை தான்.
உண்மையில், நாங்கள் மீண்டும் அவுட் பெரிதாக்கவும் மற்றும் நாம் இங்கு என்ன நடக்கிறது என்று பாருங்கள் என்று
விளக்கக்காட்சியில், நீங்கள் உண்மையான கூறுகள், பாத்திரம் தரவு பார்க்க
வரிசை உள்ளேயே சேமிக்கப்படும்.
என்ன இங்கே எங்கள் அணி உள்ள சேமித்த தன்மையை தரவு குறிப்புகள் உள்ளன.
சரி. எனவே, வரிசை அளவு வெறும் அடுக்கு கொண்ட போன்ற எப்படி நான் பார்த்திருக்கிறேன்
அளவு எப்போதும் வரிசையில் தற்போது கூறுகள் எண்ணிக்கை மதிக்கிறது.
2 enqueues பின், அளவு 2.
ஒரு dequeue பின் அளவு இப்போது 1.
மற்றொரு என்கியூ பின் அளவு 2 வரை மீண்டும்.
எனவே அளவு நிச்சயமாக, வரிசையில் உறுப்புகள் எண்ணிக்கை மதிக்கிறது
பின்னர் தலையை மட்டும் சைக்கிள் வைத்திருக்கிறது.
இது 0-1-2, 0-1-2, 0-1-2 இருந்து செல்லும்.
நாம் dequeue என்று ஒவ்வொரு முறையும், தலைவர் சுட்டிக்காட்டி அடுத்த அட்டவணைக்கு incremented.
தலைக்கு மேல் செல்ல பற்றி இருந்தால், அது மீண்டும் சுற்றி 0 சுழற்சிகளும்.
அதனால் உடன், நாங்கள் dequeue செயல்பாடு எழுத முடியும்.
நாங்கள் உங்களுக்கு பதிலாக செயல்படுத்த வேண்டும் என்கியூ செயல்பாடு விட்டு செல்கிறோம்.
>> நாம் வரிசையில் ஒரு உறுப்பு அவுட் dequeue போது,
நாம் அடுக்குகள் பாப் செயல்பாடு எழுத தொடங்கிய போது டேனியல் என்று முதல் விஷயம் என்ன?
எனக்கு இன்னும் பேசவில்லை யார் யாரோ இருந்து கேட்கிறேன்.
, தான் பார்க்க Saad விட, நீங்கள் டேனியல் அவர் பாப் எழுதிய போது முதல் விஷயம் என்று என்ன நினைவிருக்கிறதா?
[Saad], அது அங்கே இருந்தது - அவர் ஏதோ சோதனை >>.
[Saad] அளவு 0 அதிகமாக இருந்தால். சரியாக >>.
மற்றும் அந்த சோதனை என்ன?
[Saad] வரிசை உள்ளே எதுவும் இல்லை என்பதை சோதனை இருந்தது.
[Hardison] சரி. சரியாக. அது காலியாக இருந்தால், அதனால் நீங்கள் ஸ்டேக் வெளியே எதையும் பாப் முடியாது.
அது காலியாக இருந்தால் அதேபோல், நீங்கள் ஒரு வரிசையில் இருந்து எதையும் dequeue முடியாது.
நாம் இங்கே நம் dequeue விழாவில் செய்ய வேண்டும் முதல் விஷயம், அது என்ன, நீங்கள் நினைக்கிறீர்கள்?
[Saad] அளவு 0 அதிகமாக இருந்தால்? >> சரி.
இந்த வழக்கில், நான் உண்மையில் அதை 0 என்று பார்க்க சோதனை.
அது 0 இருந்தால், நாம் பூஜ்ஜிய திரும்ப முடியும்.
ஆனால் அதே தர்க்கம்.
மற்றும் இந்த தொடர அனுமதிக்க.
அளவு 0 என்றால், நாம் dequeue வேண்டும் என்று உறுப்பு எங்கே?
[Saad] தலைவர் நேரத்தில்? சரியாக >>.
நாம் நமது வரிசையில் முதல் உறுப்பு வெளியே இழுக்க முடியாது
தலைமை உறுப்பு அணுகி.
பைத்தியம் இல்லை.
பின்னர், நாங்கள் என்ன செய்ய வேண்டும்? என்ன நடக்க வேண்டும்?
நாம் dequeue பேசப்படுவோம் மற்ற விஷயம் என்ன?
எங்கள் வரிசை மாற்றப்பட்டது ஏனெனில் இரண்டு விஷயங்கள், நடக்க வேண்டும்.
[டேனியல்] அளவை குறைக்கவும். >> நாம் அளவு குறைக்க, மற்றும் தலைமை அதிகரிக்க வேண்டும்? சரியாக.
தலைவர் அதிகரிக்க, நாம் மட்டும் கண்மூடித்தனமாக நினைவில், தலைவர் அதிகரிக்க முடியாது.
நாம் queue.head செய்ய முடியாது +.
நாங்கள் திறன் இந்த மோட் சேர்க்க வேண்டும்.
மற்றும் நாம் ஏன், திறன் ஸ்டெல்லா mod?
[ஸ்டெல்லா] அதை சுற்றி ஏனென்றால். சரியாக >>.
திறன் மூலம் நாம் மோட் அதை 0 என சுற்றி திரும்பி மடிக்க வேண்டும், ஏனெனில்.
அதனால் இப்போது, இந்த நேரத்தில், நாம் டேனியல் கூறினார் என்ன செய்ய முடியும்.
நாம் அளவு குறைத்தல் முடியும்.
மற்றும் நாம் இப்போது வரிசை மேல் என்று உறுப்பு திரும்ப முடியும்.
அதை முதலில் gnarly வகையான தெரிகிறது. நீங்கள் ஒரு கேள்வியை வேண்டும். மன்னிக்கவும்?
>> [சாம்] ஏன் வரிசை மேலே முதல் தான்? என்று எங்கே போய் கொண்டிருக்கிறது?
[Hardison] அது கீழே இருந்து நான்காவது வரிசையில் இருந்து வருகிறது.
நாம் வரிசை, காலியாக இல்லை என்பதை உறுதி செய்ய சோதிக்க பிறகு
நாம் முதல் எரிப்பதை * வெளியே இழுக்க, நாங்கள் தலை குறியீட்டு உட்கார்ந்து அந்த உறுப்பு வெளியே இழுக்க
எங்கள் வரிசைக்கு, எங்கள் சரங்களை வரிசை, >> மற்றும் அழைப்பு என்று முதலில்?
[Hardison] நாம் அது முதல் அழைப்பு. Yeah.
அந்த அடிப்படையில் தொடர்ந்து, ஏன் நாம் அதை செய்ய வேண்டும் என்று நீங்கள் நினைக்கிறீர்கள்?
[சாம்] ஒவ்வொரு முதல் ஒரு q.strings திரும்பி வருகிறார் [q.head]? >> சரி.
>> நாம் மோட் செயல்பாடு q.head இந்த மாறிவரும் செய்கிறீர்கள் ஏனெனில்,
மேலும் திரும்ப வரி அந்த செய்ய வழி இல்லை.
[Hardison] சரியாக. நீங்கள் இடத்தில் இருக்கிறோம். சாம் முற்றிலும் மீது சிற்பமா.
நாம் வரிசையில் முதல் உறுப்பு வெளியே ஒரு மாறி அதை சேமிக்க வேண்டியதாயிருந்தது
நாம் இந்த வரியை q.head இருந்த காரணத்தால், தான்
அங்கு மோட் ஆபரேட்டர் நாம் என்ன செய்ய முடியும் என்று ஏதோ இல்லை
அது இல்லாமல் தலையில் அமலுக்கு - ஒரு வரியில்.
நாம் உண்மையில் முதல் உறுப்பு வெளியே இழுக்க வேண்டும் என்று, பிறகு, தலையை சரி
அளவு சரி, பின்னர் நாம் வெளியே என்று உறுப்பு திருப்பி.
இந்த நாங்கள் பின்னர் கொண்டு வந்து பார்க்கிறேன் என்று ஒன்று உள்ளது
இணைக்கப்பட்ட பட்டியல்கள், நாம் அவர்களை சுற்றி விளையாட வேண்டும்.
நீங்கள் இணைக்கப்பட்ட பட்டியல்களில் பெறலாம் அல்லது அப்புறப்படுத்துகிறது அடிக்கடி போது
அடுத்த உறுப்பு, ஒரு இணைக்கப்பட்ட பட்டியலில் அடுத்த சுட்டிக்காட்டி நினைவில் கொள்ள வேண்டும்
தற்போதைய ஒரு அப்புறப்படுத்துகிறது முன்.
ஏனெனில் மற்றபடி நீங்கள் பட்டியலில் விட்டு என்ன தகவல் எறியுங்கள்.
உங்கள் பயன்பாட்டிற்கான போனால் இப்போது, நீங்கள் இந்த queue.c-x அவுட் திறக்க.
நான் queue.c திறந்து என்றால், இங்கே என்னை ஜூம் செய்யலாம்
நீங்கள் ஒரு அதனையொத்த கோப்பு என்று பார்க்கலாம்.
நாம் stack.c மூலம் முந்தைய என்ன செய்ய அதனையொத்த கோப்பு.
நாம் ஸ்லைடுகள் பார்த்தேன் என்று தான் வரையறுக்கப்பட்டுள்ளது வரிசைக்கும் எங்கள் struct கிடைத்துவிட்டது.
>> நீங்கள் செய்ய இது எங்கள் என்கியூ செயல்பாடு உள்ளது.
நாம் இங்கே dequeue செயல்பாடு உள்ளது.
கோப்பில் dequeue செயல்பாடு unimplemented,
நீங்கள் விரும்பினால் நீங்கள், அதை தட்டச்சு செய்யலாம் என்று ஆனால் நான் பவர்பாயிண்ட் மீண்டும் அதை போடுகிறேன்.
எனவே அடுத்த 5 நிமிடங்கள் அல்லது ஐந்து, நீங்கள் என்கியூ வேலை
இது கிட்டத்தட்ட ஒரு dequeue எதிராக உள்ளது.
நீங்கள் enqueueing போது தலையை சரி இல்லை, ஆனால் நீங்கள் என்ன சரி செய்ய வேண்டும்?
அளவு. எனவே நீங்கள் என்கியூ, தலைவர் தீண்டப்படாத இருக்கும் போது, அளவு மாற்றப்பட்டது.
ஆனால் அது சிறிது எடுக்கிறது - நீங்கள் மோட் சுற்றி விளையாட வேண்டும்
புதிய உறுப்பு உள்ளிடப்பட வேண்டும் என்ன குறியீட்டு சரியாக கண்டுபிடிக்க.
அதனால் நான் உங்களுக்கு கொஞ்சம் தருகிறேன்,, ஸ்லைடு மீண்டும் dequeue வைத்து
மற்றும் உங்களுக்கு கேள்விகள் என, அதனால் நாம் அவர்களை வெளியே சத்தம்
ஒரு குழுவாக அவர்கள் பற்றி பேச்சு.
மேலும், நீங்கள் don't அளவு - நீங்கள் அளவு சரி போது, நீங்கள் எப்போதும் தான் முடியும் -
நீங்கள் எப்போதும் அளவு mod வேண்டும்? [டேனியல்] இல்லை >> நீங்கள், அளவு mod உரிமை இல்லை.
You're ஏனென்றால் அளவு எப்போதும், - அனுமானித்து நீங்கள், சரியான விஷயங்களை மேலாண்மை
அளவு எப்போதும் 0 மற்றும் 3 இடையே இருக்கும்.
எங்கே நீங்கள் என்கியூ செய்கிறீர்கள் போது mod வேண்டும்?
மட்டும் தலையை [மாணவர்]. தான் தலைவர் >>, சரியாக.
ஏன் நீங்கள் என்கியூ உள்ள அனைத்து mod வேண்டும்?
நீங்கள் மோட் வேண்டும் என்று ஒரு சூழ்நிலை இருக்கிறது?
நீங்கள் இடைவெளிகள் உள்ள பொருள் இருந்தால் [மாணவர், இடைவெளிகள் 1 மற்றும் 2 பிடிக்காது
பின்னர் நீங்கள் 0 ஏதாவது சேர்க்க வேண்டும்.
[Hardison] சரி, சரியாக. உங்கள் தலைவர் சுட்டிக்காட்டி மிகவும் இறுதியில் இருக்கும் என்றால்,
அல்லது உங்கள் அளவு மற்றும் உங்கள் தலையில் பெரிய இருந்தால், அல்லது மாறாக, வரிசை சுற்றி வருகிறது.
>> நாம் இப்போது ஸ்லைடில் இங்கு பெற்றுவிட்டோம் என்று இந்த சூழ்நிலையில்,
நான், இப்போது ஏதாவது என்கியூ விரும்பினால்
நாம் குறியீட்டு 0 ஏதாவது என்கியூ வேண்டும்.
நீங்கள் 50 சென்று அங்கு பார், நான் என்கியூ 50, என்று நீங்கள்
அதை கீழே அங்கு கீழே செல்லும். அதை குறியீட்டு 0 உள்ள செல்கிறது.
ஏற்கனவே dequeued என்று 'வணக்கம்' பதிலாக.
[டேனியல்] நீங்கள் ஏற்கனவே dequeue என்று கவனித்து இல்லையா?
ஏன் அதை என்கியூ தலை ஒன்றும் செய்ய?
[Hardison] ஓ, நீ தலைமை மாற்றம் இல்லை, மன்னிக்கவும்.
ஆனால் நீங்கள் அணுகும் போது மோட் ஆபரேட்டர் பயன்படுத்த வேண்டும்
நீங்கள் அணுகும் போது என்கியூ வேண்டும் என்று உறுப்பு
உங்கள் வரிசையில் அடுத்த உறுப்பு.
[பசில்] நான் செய்யவில்லை, நான் அங்கு "வெற்றி" தான்.
[டேனியல்] ஓ, நான் நீங்கள் என்ன சொல்கிறீர்கள் என்று புரியவில்லை.
[Hardison] எனவே நீங்கள் didn't - நீங்கள் q.size உள்ள செய்தார்?
[பசில்] சரி. நான் தரப்பும் மாறி, நான் தலை எதையும் செய்யவில்லை.
[Hardison] நீங்கள் உண்மையில், எதுவும் இருக்க தலை மீட்டமைக்க இல்லை
ஆனால் சரங்களை வரிசை மாற்றும் போது சுட்டு,
நீங்கள் உண்மையில், மேலே சென்று அடுத்த உறுப்பு எங்கே கணக்கிட வேண்டும்
ஸ்டாக் withe ஏனெனில், உங்கள் ஸ்டேக் அடுத்த உறுப்பு எப்போதும் இருந்தது
அளவு தொடர்பான குறியீட்டு மணிக்கு.
நாம் நம் ஸ்டேக் மிகுதி விழாவில் திரும்பி, என்றால்
நாம் எப்போதும் சரியான குறியீட்டு அளவில் நமது புதிய உறுப்பு உள்ள கம்பியை இழுத்து விடுவதால் ஏற்படும் ஒலி முடியும்.
வரிசை கொண்ட அதேசமயம், நாங்கள் அதை செய்ய முடியாது
இந்த நிலைமையில் என்றால், ஏனெனில்,
நாம் வரிசைப்படுத்தப்படவில்லை என்றால் 50 எங்கள் புதிய சரம் சரங்களை [1] சரியான போக வேண்டும்
இதில் நாம் செய்ய விரும்பவில்லை.
நாம் புதிய சரம் குறியீட்டு 0 போக வேண்டும்.
>> இல்லை யாராவது - ஆம்? [மாணவர்] நான் ஒரு கேள்வி உண்டு ஆனால் அது தொடர்பான இல்லை.
ஒருவர் மட்டும் pred சுட்டிக்காட்டி போல அழைத்தால், அது என்ன அர்த்தம்?
அந்த பெயர் என்ன உள்ளது? நான் ஒரு பெயர் தெரியும்.
[Hardison] Pred சுட்டிக்காட்டி? பார்க்கலாம். என்ன பின்னணியில்?
[மாணவர்] நுழைவு அது இருந்தது. நீங்கள் விரும்பினால் நான் பின்னர் நீங்கள் கேட்கலாம்
இது தொடர்பான இல்லை, ஆனால் நான் தான் -
[Hardison] விரிவுரை இருந்து டேவிட் நுழைவு குறியீடு வரம்பு?
நாம் மேலே மற்றும் அது பற்றி பேசலாம்.
நாம் அடுத்த முறை நாம் தொடர்புடைய பட்டியல்கள் பெற பற்றி பேசுகிறேன்.
>> எனவே என்கியூ செயல்பாடு தெரிகிறது என்ன பார்க்க மிகவும் விரைவாக செல்லலாம்.
மக்கள் உங்கள் என்கியூ வரிசையில் செய்ய முயற்சி என்று முதல் விஷயம் என்ன? இந்த வரிசையில்?
நீங்கள் தள்ளி ஸ்டேக் என்ன செய்தார்களோ ஒத்த.
நீங்கள் ஸ்டெல்லா, என்ன செய்தாய்?
[ஸ்டெல்லா, புரிந்து]
[Hardison] சரியாக. (== திறன் q.size) என்றால் -
நான் சரியான இடத்தில் என் ப்ரேஸ் செய்ய வேண்டும் - தவறான திரும்ப.
சிறிதுநேரத்தில் ஜூம். சரி.
இப்போது நாம் என்ன செய்ய வேண்டும் என்று அடுத்த விஷயத்தை என்ன?
வெறும் அடுக்கு கொண்ட மாதிரி, மற்றும் சரியான இடத்தில் சேர்க்கப்பட்டது.
அதனால் அந்த செருக சரியான இடத்தில் என்ன?
ஸ்டாக் அது அது மிகவும் என்று இந்த, குறியீட்டு அளவு இருந்தது.
[டேனியல்] நான் q.head-அல்லது - >> q.strings? >> ஆமாம்.
q.strings [q.head + q.size மோட் திறன்]?
[Hardison] நாம் அநேகமாக இந்த சுற்றி அடைப்புக்குறிக்குள் போட வேண்டும்
நாம் எல்லோருக்கும் cleart அதனால் சரியான முன்னுரிமை பெறுவது மற்றும் அதனால்.
அந்த சமமாக அமைக்க? Str வேண்டும் >>? Str வேண்டும் >>. பெரிய.
இப்போது நாம் என்ன செய்ய வேண்டும் என்று கடந்த விஷயம் என்ன?
நாம் ஸ்டேக் செய்தது போல். >> அளவு அதிகரிப்பு? >> அளவை அதிகப்படுத்த.
பூரிப்பு. பின்னர், ஸ்டார்டர் குறியீடு பின்னர் தான், முன்னிருப்பாக தவறான திரும்பினார்
நாம் அனைத்து வழியாக செல்லும் அனைத்து நன்றாக சென்றால் உண்மை இந்த மாற்ற வேண்டும்.
எல்லாம் சரி. அந்த பகுதி தகவல் நிறைய இருக்கிறது.
நாம் மிகவும் அதிகமாக இருக்கும். நாம் தனித்தனி தொடர்புடைய பட்டியல்கள் பற்றி மிகவும் விரைவாக பேச வேண்டும்.
நான் இந்த போட வேண்டும் என்று நாம் பிறகு செல்லலாம்.
ஆனால் இன்னும் ஒரு சில சரிவுகள் நமது வழங்கல் திரும்பி செல்லலாம்.
எனவே என்கியூ TODO என்பது, இப்போது நாம் செய்துவிட்டேன்.
>> இப்போது தனித்தனி தொடர்புடைய பட்டியல்கள் பாருங்கள் நாம்.
நாம் விரிவுரையில் இந்த சற்று பற்றி பேசினார்.
நாம் மக்கள் அங்கு எவ்வளவு நீங்கள் ஒரு டெமோ பார்த்தேன்
அசிங்கமாக ஒருவருக்கொருவர் மற்றும் தாங்கும் எண்களை குறிக்கும்? >> நான் என்று இருந்தது.
>> நீங்கள் என்ன நினைக்கிறீர்கள்? இதை செய்தேன் என்று, வட்டம் இந்த சிறிது demystify?
பட்டியல், அதை நாம் ஒரு முனை அழைக்க போகிறோம் என்று இந்த வகை சமாளிக்க என்று கூறினார்.
வரிசை மற்றும் ஸ்டாக் உடன் அதேசமயம் நாம், நாம் அடுக்கில் வரிசை அழைப்பு என்று structs இருந்தது
நாம், ஸ்டாக் வகையான இந்த புதிய வரிசை இருந்தது
இங்கே ஒரு பட்டியல் உண்மையில் ஒரு முனைகளில் ஒரு கொத்து உருவாக்கப்படுகிறது.
சரங்களை எழுத்துகள் மட்டும் ஒரு கொத்து என்று அதே வழியில் அனைத்து ஒருவருக்கொருவர் அடுத்த வரை வரிசையாக.
ஒரு இணைக்கப்பட்ட பட்டியலில் ஒரு முனை மற்றும் மற்றொரு முனை மற்றும் மற்றொரு முனை மற்றும் மற்றொரு முனை உள்ளது.
மற்றும் பதிலாக ஒன்றாக அனைத்து முனைகளில் அடித்து நொறுக்குவதும் contiguously அவற்றை சேமித்து விட
நினைவகத்தில் ஒருவருக்கொருவர் உரிமை அனைத்து அடுத்த,
இந்த அடுத்த சுட்டிக்காட்டி கொண்டிருக்கும் நாம், அங்கொன்றும் இங்கொன்றுமாக, முனைகளில் எங்கு சேமிக்க முடியும்.
பின்னர் கம்பி வகையான அவர்கள் அனைவரும் ஒன்றாக இருந்து அடுத்த சுட்டிக்காட்ட.
>> என்ன இது ஒரு வரிசைக்கு மேல் என்று பெரிய நன்மை என்ன?
சேமிப்பதற்கென எல்லாவற்றையும் contiguously தான் ஒருவருக்கொருவர் அடுத்த சிக்கி?
நீங்கள் நினைவில்? அப்படியா? >> டைனமிக் நினைவக ஒதுக்கீடு?
என்ன அர்த்தத்தில் >> டைனமிக் நினைவக ஒதுக்கீடு?
நீங்கள் பெரிய மற்றும் உங்கள் முழு வரிசையில் செல்ல வேண்டாம் செய்து வைக்க முடியும் என்று அங்குலம் [மாணவர்]?
[Hardison] சரியாக. எனவே ஒரு வரிசைக்கு கொண்டு, நீங்கள் மத்தியில் ஒரு புதிய உறுப்பு வைக்க வேண்டும் போது,
நீங்கள் இடத்தை செய்ய அனைத்தையும் மாற்ற வேண்டும்.
போன்ற நாம், வரிசை கொண்ட பேசினார்
நாம் அந்த தலைவர் சுட்டிக்காட்டி வைத்து அதனால் தான்,
நாம் தொடர்ந்து விஷயங்கள் மாற்றுவதால் என்று.
நீங்கள் ஒரு பெரிய வரிசை கிடைத்துவிட்டது என்று விலை கிடைக்கிறது என்பதால்
நீங்கள் தொடர்ந்து இந்த சீரற்ற புகுத்தல் செய்கிறீர்கள்.
பட்டியல் அதேசமயம், நீங்கள் செய்ய வேண்டியது எல்லாம், ஒரு புதிய கணு அதை தூக்கி உள்ளது
சுட்டிகள் சரி, நீங்கள் முடித்துவிட்டீர்கள்.
என்ன இது ஏமாற்றுகிறது?
தவிர இது ஒரு வரிசை என வேலை அவ்வளவு எளிதல்ல என்று உண்மையில் இருந்து? அப்படியா?
[டேனியல்] சரி, நான் அதை இணைக்கப்பட்ட பட்டியலில் ஒரு குறிப்பிட்ட உறுப்பு அணுக மிகவும் கடினமானதாக இருக்கிறது தெரியுமா?
[Hardison] நீங்கள் உங்கள் இணைக்கப்பட்ட பட்டியலில் மத்தியில் ஒரு தன்னிச்சையான உறுப்பு செல்ல முடியாது.
எப்படி பதிலாக அதை செய்ய வேண்டும்? நீங்கள் முழு விஷயம் மூலம் விலக வேண்டும் >>.
[Hardison] சரி. நீங்கள் ஒரு நேரத்தில் ஒரு, ஒரு நேரத்தில் ஒரு வழியாக செல்ல வேண்டும்.
இது ஒரு பெரிய விஷயம் - அது ஒரு வலி தான்.
மற்ற என்ன - இந்த மற்றொரு வீழ்ச்சி உள்ளது.
[பசில்] நீங்கள் முன்னோக்கி மற்றும் பின்னோக்கி போக முடியாது? நீங்கள் ஒரு திசையில் போக வேண்டும்?
[Hardison] சரி. நாம் எப்படி சில நேரங்களில், அந்த தீர்வு என்ன?
[பசில்] பட்டியல்கள் இரட்டை-இணைக்கப்பட்ட? சரியாக >>. இரட்டை-இணைக்கப்பட்ட பட்டியல்கள் உள்ளன.
உள்ளன - மன்னிக்கவும்?
>> [சாம்] என்று pred தான் பயன்படுத்தி அதே தான் -
நான் நினைத்துக்கொண்டேன், pred விஷயம் என்ன என்று இல்லை?
இல்லை என்று இரட்டை தனித்தனி இடையே?
அவர் செய்து சரியாக என்ன [Hardison] நாம் இருக்கும்.
இங்கு நாம். இங்கே பட்டியல் குறியீடு.
இங்கே நாம் இங்கே உள்ள, predptr வேண்டும். உன்னை பற்றி என்ன பேசுகிறார்கள் என்று இந்த?
அதனால் தான் - அவர் ஒரு பட்டியலை பெறலாம், ஆனால் அவர் அதை ஒரு சுட்டிக்காட்டி சேமிக்க முயற்சிக்கிறார்.
இந்த இரட்டை, தனித்தனி இணைக்கப்பட்ட-பட்டியல்கள் இல்லை.
இந்த பேசுகிறார் இருந்து நாம் பட்டியலை பெறலாம் பற்றி பின்னர் இது பற்றி மேலும் பேச முடியும்
மற்றும் நான் முதல் சில விஷயங்களை காட்ட வேண்டும்.
ஆனால் அது - இது PTR மதிப்பை நினைவில் உள்ளது
[மாணவர்] ஓ, அது preceeding சுட்டிக்காட்டி இருக்கிறது? >> சரி.
நாம் predptr என்ன நாம் இலவச முன் PTR தன்னை அதிகப்படுத்த முடியும்.
நாம் இலவச PTR மற்றும் அழைப்பு PTR = PTR அடுத்த, சரியான? முடியாது
அந்த மோசமான வேண்டும்.
எனவே இந்த பையன் வேண்டும், நாம் பார்ப்போம்.
>> பட்டியல்கள் பற்றி கெட்ட விஷயம் என்று ஒரு வரிசையை கொண்டு, அதேசமயம்
நாம் தான், தங்களை ஒருவருக்கொருவர் அடுத்த அடுக்கப்பட்ட அனைத்து கூறுகள்
இங்கு நாம் இந்த சுட்டிக்காட்டி அறிமுகப்படுத்தப்பட்டது.
நாம் பயன்படுத்த நேர்கிறது என்று நினைவகம் கூடுதல் துண்டின் இல்லை
எங்கள் பட்டியலில் சேமித்து என்று ஒவ்வொரு உறுப்பு வேண்டும்.
நாம் வளைந்து கிடைக்கும், ஆனால் அது ஒரு செலவு வருகிறது.
இது, இந்த நேரம் செலவு வருகிறது
அது இந்த நினைவகம் செலவு வருகிறது.
நாம் இப்போது வரிசை ஒவ்வொரு உறுப்பு வழியாக செல்ல வேண்டும் என்ற அர்த்தத்தில் நேரம்
குறியீட்டெண் 10 ஒரு, அல்லது ஒரு வரிசையில் குறியீட்டெண் 10 இருந்திருக்கும் கண்டுபிடிக்க.
>> நான் உண்மையில் விரைவாக, நாம் வரைபடம் அவுட் இந்த பட்டியல்கள்,
பொதுவாக நாம் பட்டியலை தலைவர் அல்லது பட்டியலில் முதல் சுட்டிக்காட்டி பிடித்து
இந்த உண்மையான சுட்டிக்காட்டி என்பதை நினைவில்.
இது 4 பைட்டுகள் தான். அது ஒரு உண்மையான முனை தன்னை அல்ல.
அதனால் அது எந்த எண்ணாக மதிப்பு, அது எந்த அடுத்த சுட்டிக்காட்டி உள்ளது என்று பார்க்க.
அது உண்மையில் ஒரு சுட்டிக்காட்டி இருக்கிறது.
அது ஒரு உண்மையான முனை struct என்று ஏதாவது சுட்டிக்காட்ட நடக்கிறது.
[சாம்] முனை என்று ஒரு சுட்டிக்காட்டி? >> இது - இல்லை. இந்த வகை முனை ஏதோ ஒரு சுட்டிக்காட்டி இருக்கிறது.
அது ஒரு முனை struct ஒரு சுட்டிக்காட்டி இருக்கிறது. >> ஓ, சரி.
வலது இடது, குறியீடு மீது வரைபடம்.
நாம் தொடங்க ஒரு நல்ல வழி இது பூஜ்ஜிய, அதை அமைக்க முடியும்.
நீங்கள் வரைபடம் இது, அப்படி நீங்கள் அதை பூஜ்ய என எழுத அல்லது அதை ஒரு வரி வருகிறது.
>> பட்டியல்கள் வேலை எளிதான வழிகளில் ஒன்று,
நாங்கள், நீங்கள் இருவரும் முன்னொட்டைச் 'சேர்த்து கொள்கின்றன கேட்டு இரண்டு இடையே உள்ள வேறுபாடுகளை பார்க்க append
ஆனால் prepending கண்டிப்பாக எளிதாக இருக்கும்.
அங்கு நீங்கள் முன்னொட்டைச் 'சேர்த்து கொள்கின்றன போது, இந்த - நீங்கள் முன்னொட்டைச்' சேர்த்து கொள்கின்றன (7),
நீங்கள் முனை struct சென்று உருவாக்க
நீங்கள், இப்போது நாம் அது முன்னொட்டாக இருந்து, அதை சுட்டி முதல் அமைக்க
இது பட்டியலில் ஆரம்பத்தில் இருக்க போகிறது.
நாம் மற்றொரு முனை உருவாக்குகிறது என்று முன்னொட்டைச் 'சேர்த்து கொள்கின்றன (3),, ஆனால் இப்போது 3 7 முன் வந்தால்.
எனவே நாம் அடிப்படையில் எங்கள் பட்டியலில் மீது விஷயங்களை தள்ளும்.
இப்போது, நீங்கள், முன்னொட்டைச் 'சேர்த்து கொள்கின்றன, சில நேரங்களில் மக்கள் தள்ள அழைப்பு என்று பார்க்கலாம்
ஏனெனில் நீங்கள் உங்கள் பட்டியல் மீது ஒரு புதிய உறுப்பு தள்ளும்.
இது ஒரு பட்டியல் முன்னால் உள்ள நீக்க கூட எளிது.
எனவே மக்கள் பெரும்பாலும் அந்த பாப் அழைக்கும்.
அந்த வழியில், ஒரு இணைக்கப்பட்ட பட்டியலில் பயன்படுத்தி ஒரு அடுக்கு பின்பற்ற முடியாது.
அச்சச்சோ. மன்னிக்கவும், இப்போது நாம், append கொண்டு வருகிறோம். இங்கு நாம் முன்னொட்டைச் 'சேர்த்து கொள்கின்றன (3) இப்போது, (7) முன்னொட்டாக.
நாம் முன்னொட்டாக நாம் (4), இந்த பட்டியலில் மீது வேறு முன்னொட்டாக,
நாம் 4 மற்றும் பிறகு 3 பின்னர் 7 விரும்புகிறேன்.
எனவே நாம் பாப் மற்றும் அகற்றுவதில் 3, 4 நீக்க முடியும், 7 நீக்க.
பெரும்பாலும் இதை பற்றி யோசிக்க இன்னும் உள்ளுணர்வு வழியில், append உள்ளது.
அதனால் நான் அதை இங்கே சேர்க்க கூடிய போன்று இருக்கும் என்ன படமும்.
இங்கே, இணைக்கப்படும் (7) வேறு இல்லை
ஏனெனில் பட்டியலில் ஒரே ஒரு உறுப்பு உள்ளது.
மற்றும் சேர்ப்பதன் (3) இறுதியில் அதனை.
ஒருவேளை நீங்கள் இப்போது, append கொண்ட தந்திரம் பார்க்க முடியும்
அந்த பட்டியலில் ஆரம்பத்தில் எங்கே நாம் மட்டுமே தெரியும் என்பதால் தான்
நீங்கள் பட்டியல் மூலம் அனைத்து வழியில் நடக்க வேண்டும், ஒரு பட்டியலில் சேர்க்க வேண்டும்
, இறுதியில் கிடைக்கும் நிறுத்த, பிறகு உங்கள் முனை மற்றும் கீழே கம்பியை இழுத்து விடுவதால் ஏற்படும் ஒலி எல்லாம் உருவாக்க.
அனைத்து பொருட்களையும் வரை கம்பி.
எனவே முன்னொட்டைச் 'சேர்த்து கொள்கின்றன கொண்டு, நாம் தான், உண்மையில் விரைவில் இந்த வழியாக அகற்றி
நீங்கள் ஒரு பட்டியலில் முன்னொட்டைச் 'சேர்த்து கொள்கின்றன போது, அது மிகவும் எளிது.
>> உங்கள் புதிய கணு செய்ய, சில மாறும் நினைவக ஒதுக்கீடு உள்ளடக்கியது.
இங்கு நாம் malloc பயன்படுத்தி ஒரு முனை struct செய்கிறாய்.
Malloc என்று பின்னர் எங்களை நினைவகம் ஒதுக்கி வேண்டும், ஏனெனில் நாங்கள் பயன்படுத்தும்
நாம் இந்த விரும்பவில்லை, ஏனென்றால் - இந்த நினைவகம் நீண்ட நேரம் நீடிக்கும் வேண்டும்.
மற்றும் நாம் தான் ஒதுக்கப்பட்டுள்ளது என்று நினைவகத்தில் இடத்தை ஒரு சுட்டிக்காட்டி கிடைக்கும்.
நாம் முனை அளவு பயன்படுத்த, நாம் துறைகளில் தொகையிடும் இல்லை.
நாம் கைமுறையாக, பைட்டுகள் எண்ணிக்கை உருவாக்க வேண்டாம்
அதற்கு பதிலாக நாம் நாம் பைட்டுகள் தகுந்த எண் வருகிறோம் என்று அந்த sizeof பயன்படுத்த.
நாம் malloc அழைப்பு வெற்றி என்று சோதிக்க உறுதி.
இந்த பொது செய்ய வேண்டும் விஷயம்.
நவீன இயந்திரங்கள் மீது, நினைவக வெளியே இயங்கும் எளிது என்று ஒன்று இல்லை
நீங்கள் பொருள் ஒரு டன் ஒதுக்கீடு மற்றும் ஒரு பெரிய பட்டியல் செய்கிறாய் வரை,
ஆனால் நீங்கள் ஒரு ஐபோன் அல்லது ஒரு அண்ட்ராய்டு போல், என்று, விஷயங்களை கட்டி என்றால்,
நீங்கள் தீவிர ஏதோ செய்கிறாய் குறிப்பாக நீங்கள், வரையறுக்கப்பட்ட நினைவக மூலங்கள் இல்லை.
எனவே நடைமுறையில் பெற நல்லது.
>> நான் இங்கே ஒரு ஜோடி வெவ்வேறு செயல்பாடுகளை பயன்படுத்தப்படுகிறது என்பதை கவனிக்க
நீங்கள் புதிய வகையான என்று பார்த்தேன் என்று.
எனவே fprintf தான் printf போன்ற
அதன் முதல் வாதம் தவிர நீங்கள் அச்சிட வேண்டும் ஸ்ட்ரீம் ஆகும்.
இந்த வழக்கில், நாம் நிலையான பிழை சரத்திற்கு அச்சிட வேண்டும்
இது வழக்கமான outstream வேறுபட்டது.
முன்னிருப்பாக அதே இடத்தில் வரை காட்டுகிறது.
இது முனையத்தில் அவுட் அச்சிடுகிறது, ஆனால் நீங்கள் -
அந்த கட்டளைகளை பயன்படுத்தி நீங்கள் பற்றி, திருப்பிவிட நுட்பங்களை கற்று
நீங்கள் பிரச்சனை தொகுப்பு 4 டாமி வீடியோ பற்றி கற்று, அதை இயக்க முடியும்
பல்வேறு இடங்களில்; பின்னர் வெளியேறும் உங்கள் திட்டம், இங்கே, வெளியேறவும்.
அது, முக்கிய திரும்பி போன்ற அடிப்படையில் தான்
இங்கே மீண்டும் எதுவும் செய்ய முடியாது, ஏனெனில் நாங்கள் வெளியேறும் பயன்படுத்த தவிர.
நாங்கள் முக்கிய இல்லை, அதனால் மீண்டும் நாங்கள் விரும்புகிறோம் போன்ற திட்டத்தை வெளியேற முடியாது.
நாங்கள் வெளியேறும் செயல்பாட்டை பயன்படுத்த இது ஒரு பிழை குறியீடு கொடுக்க.
பின்னர் இங்கே நாம் நான் சமமாக இருக்கும் புதிய கணு மதிப்பு துறையில், அதன் நான் புலம் அமைக்க, மற்றும் நாம் அது கம்பி.
நாங்கள், முதலில் சுட்டிக்காட்ட புதிய கணு அடுத்த சுட்டிக்காட்டி அமைக்க
பின்னர் முதல் இப்போது புதிய கணு சுட்டி.
குறியீடு இந்த முதல் வரிகளை, நாம் உண்மையில் புதிய கணு கட்டி.
இந்த விழாவில் கடந்த இரண்டு வரிகளை ஆனால், முதலில் களம் காண்பவர்கள் இல்லை.
நீங்கள் உண்மையில் ஒரு உதவி செயல்பாடு குறித்து, ஒரு செயல்பாடு வெளியே இழுக்க முடியும்.
பெரும்பாலும் நான் என்ன ஆகும் என்று, நான், ஒரு செயல்பாடு அதை வெளியே இழுக்க
நான் அதை உருவாக்க முனையும் போல, அழைப்பு
அந்த முன்னொட்டைச் 'சேர்த்து கொள்கின்றன செயல்பாடு மிகவும் சிறிய வைத்திருக்கும், அது 3 கோடுகள் பிறகு தான்.
நான் என் உருவாக்க முனையும் செயல்பாடு ஒரு அழைப்பை, பிறகு நான் கம்பி எல்லாம்.
>> நான் உங்களுக்கு காண்பிக்க வேண்டும் இறுதி காரியம்,
மற்றும் நான், நீங்கள் உங்கள் சொந்த append மற்றும் அனைத்து செய்ய சொல்கிறேன்
ஒரு பட்டியல் மீது மீண்டும் கூறு எப்படி இருக்கும்.
ஒரு பட்டியல் மீது மீண்டும் கூறு வெவ்வேறு வழிகளில் உள்ளன, அவற்றிலிருந்து.
இந்த வழக்கில், நாம் ஒரு பட்டியல் நீளம் கண்டுபிடிக்க போகிறோம்.
நாம் நீளம் = 0 தொடங்கும்.
இந்த ஒரு சரம் ஐந்து strlen எழுத மிகவும் ஒத்ததாக இருக்கிறது.
இந்த நான் இங்கே வளைய இந்த, நீங்கள் காட்ட விரும்புகிறேன்.
அது கிரகமாக பங்கி தெரிகிறது; இது வழக்கமான இல்லை எண்ணாக நான் = 0, நான் <என்ன, நான் +.
மாறாக அது பட்டியலில் தொடக்கமாக நம் மாறி n ஆரம்பிக்கும்.
எங்கள் இயக்கி மாறி பூஜ்ய அல்ல போது பின், நாம் போகும்.
மாநாட்டின் மூலம், எங்கள் பட்டியலில் இறுதியில் பூஜ்ய வேண்டும், ஏனெனில் இது.
பின்னர், மாறாக + செய்து விட, அதிகப்படுத்த
+ ஒரு இணைக்கப்பட்ட பட்டியலில் சமமாக + n = n-> அடுத்த ஆகும்.
>> நாம் நேரம் போதவில்லை என்பதால் நான் இங்கே இடைவெளிகளை நிரப்பி விடுவோம்.
உங்கள் spellr psets வேலை ஆனால் இதை மனதில் வைத்து.
இணைக்கப்பட்ட பட்டியலில், நீங்கள் ஒரு ஹாஷ் அட்டவணை செயல்படுத்த என்றால்,
நிச்சயமாக மிகவும் கைக்குள் வரும்.
மற்றும் பொருட்கள் மீது தேடுகிறது இந்த மொழியான கொண்ட வட்டம், நிறைய எளிதாக வாழ்க்கை செய்யும்.
எந்த கேள்விகள், விரைவில்?
[சாம்] நீங்கள் நிறைவு சோசலிச தொழிலாளர் கழகம் மற்றும் SC வெளியே அனுப்ப முடியுமா?
[Hardison] சரி. நான் நிறைவு சரிவுகள் மற்றும் நிறைவு சோசலிச தொழிலாளர் கழகம் ஸ்டேக் மற்றும் queue.cs வெளியே அனுப்ப வேண்டும்.
[CS50.TV]