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