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

जावास्क्रिप्ट में लिंक्ड लिस्ट क्लास


यहां LinkedList वर्ग का पूर्ण कार्यान्वयन है -

उदाहरण

class LinkedList {
   constructor() {
      this.head = null;
      this.length = 0;
   }
   insert(data, position = this.length) {
      let node = new this.Node(data);
      if (this.head === null) {
         this.head = node;
         this.length++;
         return this.head;
      }
      let iter = 1;
      let currNode = this.head;
      while (currNode.next != null && iter < position) {
         currNode = currNode.next;
         iter++;
      }
      node.next = currNode.next;
      currNode.next = node;
      this.length++;
      return node;
   }
   remove(data, position = 0) {
      if (this.length === 0) {
         console.log("List is already empty");
         return;
      }
      this.length--;
      let currNode = this.head;
      if (position <= 0) {
         this.head = this.head.next;
      }
      else if (position >= this.length - 1) {
         while (currNode.next.next != null) {
            currNode = currNode.next;
         }
         currNode.next = null;
      }
      else {
         let iter = 0; while (iter < position) {
            currNode = currNode.next; iter++;
         }
         currNode.next = currNode.next.next;
      }
      return currNode;
   }
   display() {
      let currNode = this.head;
      while (currNode != null) {
         console.log(currNode.data + " -> ");
         currNode = currNode.next;
      }
   }
}
LinkedList.prototype.Node = class {
   constructor(data) {
      this.data = data;
       this.next = null;
   }
};

  1. जावास्क्रिप्ट में लिंक्ड सूची प्रतिनिधित्व

    ऊपर दिखाए गए उदाहरण के अनुसार, निम्नलिखित महत्वपूर्ण बिंदुओं पर विचार किया जाना चाहिए। LinkedList में एक लिंक तत्व होता है जिसे पहले कहा जाता है। प्रत्येक लिंक में एक डेटा फ़ील्ड और एक लिंक फ़ील्ड होता है जिसे अगला कहा जाता है। प्रत्येक लिंक अपने अगले लिंक का उपयोग करके अपने अगले लिंक से जुड़ा हुआ

  1. जावास्क्रिप्ट में सर्कुलर के रूप में डबल लिंक्ड लिस्ट

    डबल लिंक्ड लिस्ट में, अंतिम नोड का अगला पॉइंटर पहले नोड को इंगित करता है और पहले नोड का पिछला पॉइंटर दोनों दिशाओं में सर्कुलर बनाने वाले अंतिम नोड को इंगित करता है। एक सर्कुलर लिंक्ड लिस्ट में इंसर्शन और डिलीशन अन्य लिंक्ड लिस्ट के समान ही होते हैं। लिंक की गई सूची के किसी भी छोर पर संचालन करते स

  1. जावास्क्रिप्ट में सर्कुलर के रूप में सिंगल लिंक्ड लिस्ट

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