लिंक की गई सूची को समझने से पहले, आइए सी प्रोग्रामिंग भाषा में सरणियों के नुकसान और पॉइंटर्स के फायदों के बारे में जानें।
सरणी के नुकसान
-
इसमें स्थिर मेमोरी आवंटन शामिल है
-
स्मृति के अपव्यय को सरणियों में अनुभव किया जा सकता है।
-
स्मृति की कमी सरणियों के महत्वपूर्ण नुकसानों में से एक है।
सूचकों के लाभ
- इसमें गतिशील स्मृति आवंटन शामिल है।
- स्मृति के प्रभावी उपयोग को पॉइंटर्स में अनुभव किया जा सकता है।
लिंक्ड सूचियां
लिंक्ड सूचियाँ गतिशील मेमोरी आवंटन का उपयोग करती हैं अर्थात वे उसी के अनुसार बढ़ती और सिकुड़ती हैं। उन्हें नोड्स के संग्रह के रूप में परिभाषित किया गया है। यहां, नोड्स के दो भाग होते हैं, जो डेटा और लिंक हैं। डेटा, लिंक और लिंक्ड सूचियों का प्रतिनिधित्व नीचे दिया गया है -
लिंक्ड सूचियों के प्रकार
लिंक्ड सूचियों के चार प्रकार होते हैं, जो इस प्रकार हैं -
- एकल/एकल लिंक की गई सूचियां
- डबल / डबल लिंक्ड सूचियां
- सर्कुलर सिंगल लिंक्ड लिस्ट
- सर्कुलर डबल लिंक्ड लिस्ट
एकल लिंक की गई सूची
नीचे दिया गया प्रतिनिधित्व देखें -
नोड में दो भाग होते हैं, जो इस प्रकार हैं -
- डेटा
- लिंक
लिंक फ़ील्ड हमेशा सूची में अगले नोड की ओर इशारा करती है।
अंतिम नोड का लिंक फ़ील्ड रिक्त है।
डबल लिंक्ड लिस्ट
नीचे दिया गया प्रतिनिधित्व देखें -
नोड में तीन भाग होते हैं, जिसका नाम है
- डेटा भाग
- बायां लिंक
- सही लिंक
बायां लिंक हमेशा सूची में बाएं नोड को इंगित करता है और दायां लिंक हमेशा सूची में दाएं नोड को इंगित करता है।
पहले नोड का बायां लिंक और अंतिम नोड का दायां लिंक शून्य होना चाहिए।
सर्कुलर सिंगल लिंक्ड लिस्ट
नीचे दिया गया प्रतिनिधित्व देखें -
नोड में दो भाग होते हैं, अर्थात्,
- डेटा भाग
- लिंक भाग
लिंक फ़ील्ड हमेशा सूची में अगले नोड की ओर इशारा करती है।
अंतिम नोड का लिंक भाग हमेशा पहले नोड की ओर इशारा करता है।
सर्कुलर डबल लिंक्ड लिस्ट
नीचे दिया गया प्रतिनिधित्व देखें -
नोड में तीन भाग होते हैं, अर्थात्,
- डेटा भाग
- बायां लिंक
- सही लिंक
बायां लिंक हमेशा सूची में बाएं नोड को इंगित करता है और दायां लिंक सूची में दाएं नोड को इंगित करता है।
पहले नोड का बायां लिंक अंतिम नोड को इंगित करता है और अंतिम नोड का दायां लिंक पहले नोड को इंगित करता है।