在C ++程序中使用delete关键字删除二叉树
在本教程中,我们将学习如何使用delete关键字删除二叉树。
我们将使用析构函数成员函数删除二进制文件。当对象超出范围或通过调用delete销毁对象时,将自动调用析构函数成员函数。
析构函数成员函数的名称前面带有波浪号(〜)。
让我们看看解决问题的步骤。
写一个叫做Node的类。
编写一个接受节点数据的构造函数。
编写一个析构函数。
删除左节点。
删除右节点。
打印当前节点数据。
用伪数据初始化二叉树。
使用delete root语句删除二进制树。
示例
#include <bits/stdc++.h>输出结果using namespace std;
class Node {
public:
int data;
Node* left;
Node* right;
// 构造函数
Node(int data) {
this->data = data;
this->left = NULL;
this->right = NULL;
}
// 析构函数
~Node() {
// 删除左右指针
delete left;
delete right;
// 打印节点数据
cout << "带有数据的已删除节点 " << 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);
// 使用解构功能删除整个树
delete root;
return 0;
}
如果执行上述程序,则将得到以下结果。
带有数据的已删除节点 4带有数据的已删除节点 5
带有数据的已删除节点 2
带有数据的已删除节点 6
带有数据的已删除节点 7
带有数据的已删除节点 3
带有数据的已删除节点 1
结论
以上是 在C ++程序中使用delete关键字删除二叉树 的全部内容, 来源链接: utcz.com/z/325141.html