এই টিউটোরিয়ালে, আমরা শিখব কিভাবে ডিলিট কীওয়ার্ড ব্যবহার করে বাইনারি ট্রি মুছে ফেলতে হয়।
আমরা বাইনারি মুছে ফেলার জন্য একটি ধ্বংসকারী সদস্য ফাংশন ব্যবহার করতে যাচ্ছি। অবজেক্টটি সুযোগের বাইরে চলে গেলে বা ডিলিট কলের মাধ্যমে এটি ধ্বংস হয়ে গেলে ধ্বংসকারী সদস্য ফাংশনটি স্বয়ংক্রিয়ভাবে আহ্বান করা হয়।
ডেস্ট্রক্টর সদস্য ফাংশনটির নাম টিল্ড (~) সহ একটি শ্রেণী হিসাবে রয়েছে এর আগে।
আসুন সমস্যা সমাধানের পদক্ষেপগুলি দেখি৷
৷-
নোড নামে একটি ক্লাস লিখুন।
-
একটি কনস্ট্রাক্টর ফাংশন লিখুন যা নোডের জন্য ডেটা গ্রহণ করে।
-
একটি ধ্বংসকারী ফাংশন লিখুন।
-
বাম নোড মুছুন।
-
ডান নোড মুছুন।
-
বর্তমান নোড ডেটা প্রিন্ট করুন।
-
-
ডামি ডেটা দিয়ে বাইনারি ট্রি শুরু করুন।
-
ডিলিট রুট ব্যবহার করে বাইনারি ট্রেস মুছুন বিবৃতি।
উদাহরণ
#include <bits/stdc++.h>
using namespace std;
class Node {
public:
int data;
Node* left;
Node* right;
// constructor
Node(int data) {
this->data = data;
this->left = NULL;
this->right = NULL;
}
// destructor
~Node() {
// deleting the left and right pointers
delete left;
delete right;
// printing node data
cout << "Deleted node with data " << this->data << endl;
}
};
int main() {
Node* root = new Node(1);
root->left = new Node(2);
root->right = new Node(3);
root->left->left = new Node(4);
root->left->right = new Node(5);
root->right->left = new Node(6);
root->right->right = new Node(7);
// deleting the entire tree using destructure function
delete root;
return 0;
} আউটপুট
আপনি যদি উপরের প্রোগ্রামটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।
Deleted node with data 4 Deleted node with data 5 Deleted node with data 2 Deleted node with data 6 Deleted node with data 7 Deleted node with data 3 Deleted node with data 1
উপসংহার
টিউটোরিয়ালে আপনার কোন প্রশ্ন থাকলে মন্তব্য বিভাগে উল্লেখ করুন।