Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript का उपयोग करके डबल लिंक्ड लिस्ट बनाना


आइए एक साधारण क्लास को परिभाषित करके शुरू करें जिसमें एक कंस्ट्रक्टर हो जो हेड और टेल को null पर इनिशियलाइज़ करता है। हम DoublyLinkedList क्लास के प्रोटोटाइप पर एक और स्ट्रक्चर भी परिभाषित करेंगे जो लिंक्ड लिस्ट में प्रत्येक नोड का प्रतिनिधित्व करेगा।

उदाहरण

class LinkedList {    constructor() {       this.head = null;       this.tail = null;       this.length = 0;    } } LinkedList.prototype.Node = class {    constructor(data) {       this.data = data;       this.next = null;       this.prev = null;    } };

आइए एक display फ़ंक्शन भी बनाएं जो हमें यह देखने में मदद करेगा कि हमारी लिस्ट कैसी दिखती है। यह फ़ंक्शन निम्न प्रकार से काम करता है।

  • यह हेड से शुरू होता है।
  • यह currElem = currElem.next का उपयोग करके लिस्ट पर इटरेट करता है जब तक currElem null नहीं हो जाता, यानी हम अंत तक नहीं पहुंच गए।
  • यह प्रत्येक इटरेशन के लिए डेटा प्रिंट करता है।

इसके लिए एक चित्रण यहां है:

JavaScript का उपयोग करके डबल लिंक्ड लिस्ट बनाना

आइए देखें कि हम इसे कैसे लागू करेंगे:

उदाहरण

display() {    let currNode = this.head;    while (currNode != null) {       console.log(currNode.data + " -> ");       currNode = currNode.next;    } }

  1. JavaScript में सिंगली लिंक्ड लिस्ट को सर्कुलर बनाना JavaScript में सिंगली लिंक्ड लिस्ट को सर्कुलर बनाना

    सिंगली लिंक्ड लिस्ट में, अंतिम नोड का नेक्स्ट पॉइंटर पहले नोड की ओर इंगित करता है।

  1. JavaScript का उपयोग करके डबल लिंक्ड लिस्ट से एलिमेंट्स हटाना JavaScript का उपयोग करके डबल लिंक्ड लिस्ट से एलिमेंट्स हटाना

    लिंक्ड लिस्ट से एक एलिमेंट हटाना बहुत आसान है। हमें बस उस नोड से छुटकारा पाना है जिसे हम हटाना चाहते हैं, यानी उसका संदर्भ खो देना। हमें 3 मामलों पर विचार करने की आवश्यकता है: हेड से एलिमेंट हटाना: इस मामले में, हम बस head = head.next असाइन कर सकते हैं और अगले एलिमेंट से प्रीवियस लिंक हटा सकते हैं

  1. C++ में डबल लिंक्ड लिस्ट का उपयोग करके प्राथमिकता कतार C++ में डबल लिंक्ड लिस्ट का उपयोग करके प्राथमिकता कतार

    हमें डेटा और प्राथमिकता एक पूर्णांक मान के रूप में दी गई है और कार्य दिए गए प्राथमिकता के अनुसार डबल लिंक्ड लिस्ट बनाना और परिणाम प्रदर्शित करना है।कतार एक FIFO डेटा संरचना है जिसमें पहले डाला गया तत्व सबसे पहले हटाया जाता है। प्राथमिकता कतार एक प्रकार की कतार है जिसमें तत्वों को प्राथमिकता के आधार