আসুন প্রথমে int ডেটা, btree_node * rightChild, btree_node * leftChild সহ একটি ক্লাস ব্যবহার করে আমাদের বাইনারি ট্রি সংজ্ঞায়িত করি। LeftChild এবং rightChild হল btree_node-এর নির্দেশক। আমাদের ক্লাসের সকল সদস্য সর্বজনীন।
class btree_node {
public:
int data;
btree_node* leftChild;
btree_node* rightChild; একটি নতুন নোড তৈরি করার জন্য আমাদের কাছে কনস্ট্রাক্টর ফাংশন রয়েছে যা int মানটিকে প্যারামিটার হিসাবে নেয় যাতে এটি নতুন তৈরি নোডের মান নির্ধারণ করে। LeftChild এবং rightChild null এ সেট করা হয়েছে।
btree_node(int data){
this->data = data;
this->leftChild = NULL;
this-> = NULL;
} ক্লাস ডিকনস্ট্রাক্টর যখন আহ্বান করা হয় তখন ডিলিট কীওয়ার্ড ব্যবহার করে বাইনারি গাছের বাম এবং ডান শিশু মুছে দেয়।
~btree_node(){
delete leftChild;
delete rightChild;
cout << this->data << "is being deleted"<<endl;
} ট্রি মুছে ফেলার ট্রিগার করতে আমরা রুট নোডে ডিলিট বলি কারণ এর বাম এবং ডান সাবট্রি বরাবর মুছে ফেলা হবে।
delete root;
উদাহরণ
ডিলিট কীওয়ার্ড −
ব্যবহার করে বাইনারি ট্রি মুছে ফেলার জন্য নিচের বাস্তবায়ন দেখি#include <iostream>
using namespace std;
class btree_node {
public:
int data;
btree_node* leftChild;
btree_node* rightChild;
btree_node(int data){
this->data = data;
this->leftChild = NULL;
this->rightChild = NULL;
}
~btree_node(){
delete leftChild;
delete rightChild;
cout << this->data << " is being deleted"<<endl;
}
};
int main(){
btree_node* root = new btree_node(2);
btree_node* node1 = new btree_node(4);
btree_node* node2 = new btree_node(6);
btree_node* node3 = new btree_node(8);
btree_node* node4 = new btree_node(10);
root->leftChild = node1;
root->rightChild = node2;
node1->leftChild = node3;
node1->rightChild = node4;
delete root;
return 0;
} আউটপুট
উপরের কোডটি নিম্নলিখিত আউটপুট −
তৈরি করবে8 is being deleted 10 is being deleted 4 is being deleted 6 is being deleted 2 is being deleted