Computer >> Máy Tính >  >> Lập trình >> C ++

Xóa cây nhị phân bằng cách sử dụng từ khóa xóa trong chương trình C ++

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách xóa cây nhị phân bằng cách sử dụng từ khóa delete.

Chúng tôi sẽ sử dụng một hàm thành viên hủy để xóa tệp nhị phân. Hàm thành viên hủy được gọi tự động khi đối tượng đi ra khỏi phạm vi hoặc nó bị hủy bằng cách gọi xóa.

Hàm thành viên hủy có tên là một lớp có dấu ngã (~) trước nó.

Hãy xem các bước để giải quyết vấn đề.

  • Viết một lớp có tên là Node.

  • Viết một hàm khởi tạo chấp nhận dữ liệu cho nút.

  • Viết hàm hủy.

    • Xóa nút bên trái.

    • Xóa nút bên phải.

    • In dữ liệu nút hiện tại.

  • Khởi tạo cây nhị phân với dữ liệu giả.

  • Xóa địa chỉ nhị phân bằng cách sử dụng xóa gốc tuyên bố.

Ví dụ

#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;
}

Đầu ra

Nếu bạn thực hiện chương trình trên, bạn sẽ nhận được kết quả sau.

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

Kết luận

Nếu bạn có bất kỳ câu hỏi nào trong hướng dẫn, hãy đề cập đến chúng trong phần bình luận.