[Powered by Google Translate] [வரிசையில்] [கிறிஸ் கெர்பர், ஹார்வர்ட் பல்கலைக்கழகம்] இந்த CS50.TV, CS50 உள்ளது] தனிமங்களின் ஒரு கட்டளையிட்டார் சேகரிப்பு சேமிப்பதற்காக ஒரு பயனுள்ள தரவு கட்டமைப்பு வரிசையில் உள்ளது. உறுப்புகள் நீக்க வேண்டும் போது அது பயன்படுத்தப்படுகிறது அவர்கள் சேர்க்கப்பட்டது அதே வரிசையில் போல். இந்த கருத்தை முதலில் அவுட், முதல் என்பதன் சுருக்கமாகும் இது FIFO, என குறிப்பிடப்படுகிறது. இந்த கற்பனை செய்ய, அதை படம் பயனுள்ளதாக இருக்கும் ஒரு கடையில் ஒரு புதுப்பித்து வரி. மக்கள் வரும்போதே, அவர்கள் வரியை மீண்டும் காத்திருப்பதை. காசாளரின் பின்னர், முன் வாடிக்கையாளர்கள் சேவை திருப்பங்களை எடுக்கும் பின்னர் ஒரு நேரத்தில் வரி ஒரு வெளியேற யார். கணினி அறிவியல், நாங்கள் தலைவராக வரிசை முன் பார்க்கவும் மற்றும் வால் மீண்டும். நாம் ஒரு பயன்பாடு இந்த பயன்படுத்த கூடும் போது ஒரு உதாரணம் வர்க்கம் enrollments ஒரு காத்திருத்தல் பட்டியல் உள்ளது. இடங்களை வர்க்கம் கிடைக்கக்கூடிய, என காத்திருப்பு பட்டியலில் தலைமை நபர் வர்க்கம் பதிவு செய்ய வாய்ப்பு வழங்கப்படுகிறது. ஒரு வரிசையில் எந்த தொகுப்பை பயன்படுத்தி கட்டமைக்க முடியும் அத்தகைய ஒரு அணி அல்லது ஒரு இணைக்கப்பட்ட பட்டியலில் என, வரிசையில் சேமிக்கிறது. வரிசையில் பொருட்களை சேமிக்க சேகரிப்பு இணைந்து, நாங்கள், வரிசை இறுதியில் பொருட்களை சேர்க்க ஒரு முறை வேண்டும் இதில், enqueuing அழைக்கப்படுகிறது மற்றொரு வரிசை தலைவர் உருப்படியை நீக்க இது dequeuing அழைக்கப்படுகிறது. அதை வரிசை தற்போதைய நீளம் திரும்ப இன்னொரு முறை சேர்க்க பயன்படுகிறது அதே வரிசையில் காலியாக உள்ளது என்று பரிசோதிக்க ஒரு முறை. நாம் சி முழு எண்கள் வரிசையில் செயல்படுத்த எப்படி இருக்கும் நாம், தனிமங்களின் சேகரிப்பு ஒரு பயன்படுத்தி. முதல், நாம் எமது மாறிகள் நடத்த வரிசை என்று ஒரு கட்டமைப்பை உருவாக்க. நாம் முழு ஒரு நிலையான அளவு 0 குறியீட்டு வரிசை பயன்படுத்துவோம் உறுப்புகள் சேமிக்க. நாம் ஒரு மாறி என்று தலையில் அடங்கும் அந்த வரிசையில் தலைமை தற்போது என்று உறுப்பு என்ற குறியீட்டு சேமிக்கிறது. மூன்றாவது மாறி, நீளம் என்று, பயன்படுத்தப்படும் அணியின் உறுப்புகள் எண்ணிக்கை கண்காணிப்பதாகும். மாற்றாக, நீங்கள் ஒரு மாறி என்று வால் பயன்படுத்தி கொள்ள முடியும் வரிசையில் கடைசியாக துறையில் உறுப்பு சுட்டிக்காட்ட. நாம் எந்த குறியீடு எழுத, முன் நமது வடிவமைப்பு அவுட் முயற்சி செய்வோம். நீளம் 0 ஒரு வெற்று வரிசை கொண்ட ஆரம்பிப்போம், தலை 0 அமைக்க வேண்டும். இப்போது நாம் என்கியூ 4 மதிப்புகள் - 6, 2, 3, மற்றும் 1. நீளம் இப்போது, 4 இருக்கும் தலைமை 0 இருக்க வேண்டும். நாம் ஒரு மதிப்பு dequeue என்ன நடக்கும்? நாம், 3 நீளம் குறைப்போம் , 1 தலை அமைக்க மற்றும் மதிப்பு 6 திருப்பி. அந்த குறியீடு இப்படி இருக்கும். இங்கே நாம், dequeue செயல்பாடு , மற்றும் உறுப்பு ஒரு சுட்டிக்காட்டி - கே - எந்த வரிசையில் ஒரு சுட்டிக்காட்டி எடுக்கும் இது ஒரு வகை எண்ணாக இருக்கிறது. முதலில் நாம், அது 0 க்கும் மேற்பட்ட தான் என்பதை உறுதிப்படுத்த வரிசை நீளம் சோதனை dequeued வேண்டும் ஒரு உறுப்பு உள்ளது உறுதி. நாம், நிலை தலைவராக, உறுப்புகள் வரிசையில் இருக்கும் அந்த இடத்தில் மதிப்பு இருக்கும் உறுப்பு மதிப்பு அமைக்க. நாம் அடுத்த குறியீட்டு வேண்டும் தலைவர் மாற்ற % திறன். நாம் 1 வரிசை நீளம் குறைக்க. இறுதியாக, நாம் dequeue வெற்றி என்று குறிப்பிட உண்மை திருப்பி. நாங்கள் மீண்டும் dequeue என்றால், நீளம், 2 போம் தலையை மேலும், 2 போம் மற்றும் திரும்ப மதிப்பு 2 இருக்கும். நாம் ஒரு 7 மற்றொரு மதிப்பு என்கியூ என்ன நடக்கும்? நாம் வரிசை முடிவில் இருந்தது, என நாம் வரிசைக்கு உறுப்பு 0 மதிப்பு சுமார் மடிக்க மற்றும் சேமிக்க வேண்டும். கணித, இந்த நீளம் சேர்ப்பதன் மூலம் குறிப்பிடப்படுகின்றன தலை அட்டவணைக்கு மற்றும் வரிசை திறன் பயன்படுத்தி ஒரு குணகம் நிகழ்த்துகிறார். இங்கே அந்த 4% 4 இது 2 +2,, என்பது இதில் 0 என்பது. இந்த செயல்பாடு குறியீடு இந்த யோசனை மொழிபெயர்ப்பது. இங்கே நாம், என்கியூ செயல்பாடு பார்க்க q - எந்த வரிசையில் ஒரு சுட்டிக்காட்டி எடுக்கும் - மற்றும் ஒரு முழு எண் ஆகும், உறுப்பு வரிசைப்படுத்தப்படவில்லை வேண்டும் எடுக்கும். நாம் அடுத்த உறுதிப்படுத்தி கொள்ளுங்கள் என்று வரிசை திறன் வரிசை தற்போதைய அளவை விட இன்னும் அதிகமாக இருக்கும். அடுத்து, நாம் கூறுகள் வரிசையில் உறுப்பு சேமிக்க குறியீட்டு மணிக்கு தலைமை + நீளம்% வரிசை திறன் தீர்மானிக்கப்படுகிறது. நாம், 1 வரிசை நீளம் அதிகரிக்க பின்னர் என்கியூ செயல்பாடு வெற்றிகரமாக என்பதை உண்மையான திருப்பி. நாம் குறிப்பிட்டுள்ள நான் இரண்டு செயல்பாடுகளை கூடுதலாக, இரண்டு கூடுதல் செயல்பாடுகளை உள்ளன. முதல், isempty விழா வரிசையில் ஒரு சுட்டிக்காட்டி எடுத்து மற்றும் நீளம் 0 என்று சரிபார்க்கிறது. இரண்டாவது, நீளம் விழா இது கூட வரிசையில் ஒரு சுட்டிக்காட்டி எடுக்கும் மற்றும் struct தற்போதைய நீளம் கொடுக்கிறது. இந்த குறுகிய கண்ணோட்டம் வரிசையில் ஒரு சாத்தியமான செயல்படுத்த நிரூபணம் செய்துள்ளது. இந்த செயல்படுத்தல் வரம்புகள் ஒன்று வரிசை ஒரு நிலையான அதிகபட்ச அளவு உள்ளது என்று. நாம் வரிசை நடத்த முடியாது விட கூறுகளை சேர்க்க முயற்சி என்றால், நாம், கோரிக்கையை புறக்கணித்து மற்றும் உறுப்பு கைவிட வேண்டும் அல்லது நாம் பிழை சில வகை திரும்ப விரும்பினால் செய்யலாம். மாறாக ஒரு அணியை காட்டிலும் ஒரு இணைக்கப்பட்ட பட்டியலில் பயன்படுத்தி மாறும் அளவு வரிசை எளிதாகும் என்று. எனினும், நாம், ஒரு இணைக்கப்பட்ட பட்டியலில் உறுப்புகளை நேரடியாக அணுகல் இல்லை என்பதால் நாம் வால் கண்காணிப்பதற்கான என்றால், நாம் இறுதியில் ஒவ்வொரு முறை பெற முழு இணைக்கப்பட்ட பட்டியலில் ஸ்கேன் வேண்டும். நாங்கள், மற்றொரு தரவு வகை பயன்படுத்தி கொள்ள முடியும் structs போன்ற, மேலும் சிக்கலான கூறுகள் வரிசைகளின் உருவாக்க. , ஒரு வர்க்கம் காத்திருத்தல் பட்டியல் நமது எடுத்துக்காட்டாக மீண்டும் நினைத்து இந்த கட்டமைப்புகள் தனிநபர் மாணவர்கள் பிரதிநிதித்துவம் முடியும். என் பெயர் கிறிஸ் கெர்பர், மற்றும் இந்த CS50 உள்ளது. [CS50.TV] மற்றும் வருமானம் - >> ஒரு முறை. மற்றும் என்பதை உண்மையான திரும்பி - வரிசை வெற்றி பெற்றது. -% வரிசை திறன் - இது தொகு வேடிக்கையாக இருக்கும் நடக்கிறது. [சிரிப்பு]