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

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


मान लीजिए, हमारे पास एक एकल लिंक्ड सूची है जैसे -

const list = { 
  value: 1, 
  next: { 
    value: 2, 
    next: { 
      value: 3, 
      next: { 
        value: 4, 
        next: { 
          value: 5, 
          next: { 
            value: 6, 
            next: { 
              value: 7, 
              next: null 
            } 
          } 
        } 
      } 
    } 
  } 
};

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो पहली तर्क के रूप में ऐसी एक सूची और दूसरी तर्क के रूप में एक संख्या लेता है। फ़ंक्शन को खोजना चाहिए कि क्या उस मान वाला कोई नोड सूची में मौजूद है, यदि हां, तो फ़ंक्शन को सूची से नोड को हटा देना चाहिए।

उदाहरण

इसके लिए कोड होगा -

const list = { 
  value: 1, 
  next: { 
    value: 2, 
    next: { 
      value: 3, 
      next: { 
        value: 4, 
        next: { 
          value: 5, 
          next: { 
            value: 6, 
            next: { 
              value: 7, 
              next: null 
            } 
          } 
        } 
      } 
    } 
  } 
}; 
const recursiveTransform = (list = {}) => { 
  if (list && list['next']) { 
    list['value'] = list['next']['value']; 
    list['next'] = list['next']['next']; 
    return recursiveTransform(list['next']); 
  } else { 
    return true; 
  } 
} 
const removeNode = (list = {}, val, curr = list) => { 
  // अंत तक पहुंच गए और आइटम नहीं मिला 
  if (!list) { 
    return false; 
  } 
  if (list['value'] !== val) { 
    return removeNode(list['next'], val, list); 
  } 
  return recursiveTransform(list); 
}; 
console.log(removeNode(list, 3)); 
console.log(JSON.stringify(list, undefined, 4));

आउटपुट

कंसोल में आउटपुट होगा -

true 
{ 
  "value": 1, 
  "next": { 
    "value": 2, 
    "next": { 
      "value": 4, 
      "next": { 
        "value": 6, 
        "next": { 
          "value": 7, 
          "next": null 
        } 
      } 
    } 
  } 
}
  1. JavaScript में लिंक्ड लिस्ट प्रतिनिधित्व JavaScript में लिंक्ड लिस्ट प्रतिनिधित्व

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

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

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

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

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