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