Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

सी भाषा में लिंक्ड सूची की अवधारणा की व्याख्या करें

लिंक की गई सूची को समझने से पहले, आइए सी प्रोग्रामिंग भाषा में सरणियों के नुकसान और पॉइंटर्स के फायदों के बारे में जानें।

सरणी के नुकसान

  • इसमें स्थिर मेमोरी आवंटन शामिल है

  • स्मृति के अपव्यय को सरणियों में अनुभव किया जा सकता है।

  • स्मृति की कमी सरणियों के महत्वपूर्ण नुकसानों में से एक है।

सूचकों के लाभ

  • इसमें गतिशील स्मृति आवंटन शामिल है।
  • स्मृति के प्रभावी उपयोग को पॉइंटर्स में अनुभव किया जा सकता है।

लिंक्ड सूचियां

लिंक्ड सूचियाँ गतिशील मेमोरी आवंटन का उपयोग करती हैं अर्थात वे उसी के अनुसार बढ़ती और सिकुड़ती हैं। उन्हें नोड्स के संग्रह के रूप में परिभाषित किया गया है। यहां, नोड्स के दो भाग होते हैं, जो डेटा और लिंक हैं। डेटा, लिंक और लिंक्ड सूचियों का प्रतिनिधित्व नीचे दिया गया है -

सी भाषा में लिंक्ड सूची की अवधारणा की व्याख्या करें

लिंक्ड सूचियों के प्रकार

लिंक्ड सूचियों के चार प्रकार होते हैं, जो इस प्रकार हैं -

  • एकल/एकल लिंक की गई सूचियां
  • डबल / डबल लिंक्ड सूचियां
  • सर्कुलर सिंगल लिंक्ड लिस्ट
  • सर्कुलर डबल लिंक्ड लिस्ट

एकल लिंक की गई सूची

नीचे दिया गया प्रतिनिधित्व देखें -

सी भाषा में लिंक्ड सूची की अवधारणा की व्याख्या करें

नोड में दो भाग होते हैं, जो इस प्रकार हैं -

  • डेटा
  • लिंक

लिंक फ़ील्ड हमेशा सूची में अगले नोड की ओर इशारा करती है।

अंतिम नोड का लिंक फ़ील्ड रिक्त है।

डबल लिंक्ड लिस्ट

नीचे दिया गया प्रतिनिधित्व देखें -

सी भाषा में लिंक्ड सूची की अवधारणा की व्याख्या करें

नोड में तीन भाग होते हैं, जिसका नाम है

  • डेटा भाग
  • बायां लिंक
  • सही लिंक

बायां लिंक हमेशा सूची में बाएं नोड को इंगित करता है और दायां लिंक हमेशा सूची में दाएं नोड को इंगित करता है।

पहले नोड का बायां लिंक और अंतिम नोड का दायां लिंक शून्य होना चाहिए।

सर्कुलर सिंगल लिंक्ड लिस्ट

नीचे दिया गया प्रतिनिधित्व देखें -

सी भाषा में लिंक्ड सूची की अवधारणा की व्याख्या करें

नोड में दो भाग होते हैं, अर्थात्,

  • डेटा भाग
  • लिंक भाग

लिंक फ़ील्ड हमेशा सूची में अगले नोड की ओर इशारा करती है।

अंतिम नोड का लिंक भाग हमेशा पहले नोड की ओर इशारा करता है।

सर्कुलर डबल लिंक्ड लिस्ट

नीचे दिया गया प्रतिनिधित्व देखें -

सी भाषा में लिंक्ड सूची की अवधारणा की व्याख्या करें

नोड में तीन भाग होते हैं, अर्थात्,

  • डेटा भाग
  • बायां लिंक
  • सही लिंक

बायां लिंक हमेशा सूची में बाएं नोड को इंगित करता है और दायां लिंक सूची में दाएं नोड को इंगित करता है।

पहले नोड का बायां लिंक अंतिम नोड को इंगित करता है और अंतिम नोड का दायां लिंक पहले नोड को इंगित करता है।


  1. सिंगल लिंक्ड लिस्ट के नोड्स का उत्पाद

    n नोड्स के साथ दिया गया कार्य एकल लिंक की गई सूची के सभी नोड्स के उत्पाद को प्रिंट करना है। प्रोग्राम को एकल लिंक की गई सूची के सभी नोड्स को प्रारंभिक नोड से शुरू करके NULL नहीं मिलने तक पार करना चाहिए। उदाहरण Input -: 1 2 3 4 5 Output -: 120 उपरोक्त उदाहरण में, पहले नोड से शुरू होकर सभी नोड्स को ट

  1. लिंक्ड सूची के वैकल्पिक नोड्स का उत्पाद

    एन नोड्स के साथ दिया गया कार्य एक लिंक्ड सूची में वैकल्पिक नोड के उत्पाद को प्रिंट करना है। प्रोग्राम को केवल नोड्स के स्थान को बदले बिना वैकल्पिक नोड्स के उत्पाद को प्रिंट करना चाहिए। उदाहरण Input -: 10 20 30 40 50 60 Output -: 15000 उपरोक्त उदाहरण में, पहले नोड से शुरू होकर 10 वैकल्पिक नोड 10, 30

  1. सी भाषा में दिए गए अनुक्रमित पर लिंक्ड सूची के नोड्स प्रिंट करें

    हमें दिए गए इंडेक्स पर लिंक्ड लिस्ट के नोड्स के डेटा को प्रिंट करना होता है। ऐरे लिंक्ड लिस्ट के विपरीत आम तौर पर इंडेक्स नहीं होता है इसलिए हमें पूरी लिंक्ड लिस्ट को पार करना होता है और किसी विशेष पर पहुंचने पर डेटा को प्रिंट करना होता है। मान लीजिए, सूची में नोड्स 29, 34, 43, 56 और 88 हैं और इंडे