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

C++ प्रोग्राम में डिलीट कीवर्ड का उपयोग करके बाइनरी ट्री को हटाना

इस ट्यूटोरियल में, हम सीखेंगे कि डिलीट कीवर्ड का उपयोग करके बाइनरी ट्री को कैसे डिलीट किया जाए।

हम बाइनरी को हटाने के लिए एक विनाशक सदस्य फ़ंक्शन का उपयोग करने जा रहे हैं। जब ऑब्जेक्ट दायरे से बाहर हो जाता है या डिलीट को कॉल करके नष्ट हो जाता है, तो डिस्ट्रक्टर मेंबर फंक्शन अपने आप इनवोक हो जाता है।

विध्वंसक सदस्य फ़ंक्शन का नाम tilde (~) . के साथ एक वर्ग के रूप में है इससे पहले।

आइए समस्या को हल करने के लिए चरणों को देखें।

  • नोड नामक एक वर्ग लिखें।

  • एक कंस्ट्रक्टर फ़ंक्शन लिखें जो नोड के लिए डेटा स्वीकार करता है।

  • एक विनाशक समारोह लिखें।

    • बायां नोड हटाएं।

    • दायां नोड हटाएं.

    • वर्तमान नोड डेटा प्रिंट करें।

  • डमी डेटा के साथ बाइनरी ट्री को इनिशियलाइज़ करें।

  • रूट हटाएं . का उपयोग करके बाइनरी ट्रेस हटाएं बयान।

उदाहरण

#include नेमस्पेस std का उपयोग करना;क्लास नोड {सार्वजनिक:int डेटा; नोड * बाएं; नोड * सही; // कंस्ट्रक्टर नोड (इंट डेटा) {यह-> डेटा =डेटा; यह-> बाएं =न्यूल; यह-> सही =न्यूल; } // डिस्ट्रक्टर ~ नोड () {// लेफ्ट और राइट पॉइंटर्स को डिलीट करना लेफ्ट को डिलीट करता है; सही हटाएं; // मुद्रण नोड डेटा cout <<"डेटा के साथ हटा दिया गया नोड" <<यह-> डेटा < लेफ्ट =नया नोड (2); रूट-> राइट =नया नोड (3); रूट-> लेफ्ट-> लेफ्ट =न्यू नोड (4); रूट-> लेफ्ट-> राइट =नया नोड (5); रूट-> राइट-> लेफ्ट =नया नोड (6); रूट-> राइट-> राइट =नया नोड (7); // विनाश फ़ंक्शन का उपयोग करके पूरे पेड़ को हटाना जड़ को हटा दें; वापसी 0;}

आउटपुट

यदि आप उपरोक्त प्रोग्राम को निष्पादित करते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।

डेटा के साथ हटाया गया नोड 4डेटा के साथ हटाया गया नोड 5डेटा के साथ नोड हटा दिया गया है 2डेटा के साथ नोड हटा दिया गया है। 

निष्कर्ष

यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।


  1. C++ . का उपयोग करके एक पेड़ के विषम स्तरों पर नोड्स को प्रिंट करने का कार्यक्रम

    इस ट्यूटोरियल में, हम किसी दिए गए बाइनरी ट्री के विषम स्तरों पर मौजूद नोड्स को प्रिंट करने के लिए एक प्रोग्राम पर चर्चा करेंगे। इस कार्यक्रम में, रूट नोड के लिए स्तर 1 माना जाता है और साथ ही वैकल्पिक स्तर अगला विषम स्तर होता है। उदाहरण के लिए, मान लें कि हमें निम्नलिखित बाइनरी ट्री दिया गया है

  1. पायथन का उपयोग करके बाइनरी ट्री की जड़ को बदलने का कार्यक्रम

    मान लीजिए, हमें एक बाइनरी ट्री और एक नोड दिया गया है जो बाइनरी ट्री के पत्ते पर स्थित है। हमें लीफ नोड को बाइनरी ट्री का रूट नोड बनाना है। हम इसे निम्नलिखित तरीके से कर सकते हैं - यदि नोड में एक बायाँ बच्चा है, तो वह दायाँ बच्चा बन जाता है। एक नोड का माता-पिता उसका बायां बच्चा बन जाता है। इस प

  1. पायथन का उपयोग करके बाइनरी ट्री में दाईं ओर नोड का पता लगाने का कार्यक्रम

    मान लीजिए, हमें एक बाइनरी ट्री प्रदान किया जाता है। हमें एक नोड (u नाम दिया गया) के लिए एक पॉइंटर भी दिया जाता है और हमें दिए गए नोड के ठीक दाईं ओर स्थित नोड को खोजना होता है। दिए गए नोड के दाईं ओर स्थित नोड समान स्तर पर रहना चाहिए और दिया गया नोड या तो लीफ नोड या आंतरिक नोड हो सकता है। तो, अगर इनप