如何用C++递归来删除所有的BST节点
来源:互联网 发布:全站仪传输软件使用 编辑:程序博客网 时间:2024/06/07 04:06
关于BST的知识点,小编不在这里细讲了,不懂的大家自行百度吧或者查找有关资料。但是,小编还是会告诉你BST的全名是啥,不然你们查资料太费事了。BST的全名是binary search tree。大概中文名就叫做二叉搜索树。
下面就展示如何用C++代码来实现这道题目
//This is the table.h file//This file contains the struct and class//The build function and display functions are always written#include<iostream>#include<cstring>#include<cctype>using namespace std;struct node{ int data; node * left; node * right;};class table{ public: //Deallocate all nodes in a BST void deallocate(); private: node * root; //Deallocate all nodes in a BST void deallocate(node *& root);};
下面是如何实现这两个函数了
//This is the table.cpp file#include "table.h"void table::deallocate(){ deallocate(root);}void table::deallocate(node *& root){ if(!root) return; deallocate(root->left); deallocate(root->right); delete root; root = NULL; return;}
下面是在主函数里如何调用这两个函数来测试这两个函数写的对不对
//This is the main.cpp file#include "table.h"int main(){ table object; //Deallocate all nodes in a BST object.deallocate(); object.display(); return 0;}
是不是感觉这代码简洁明了?那现在是展示结果的时候了。关于在主函数里调用了display函数,这个函数是已经写好的了。
关于这个结果,小编还是解释一下。这个Level 1是表示根节点的位置,而这棵树的高度是6. 当运行完这个代码的时候,这棵树就变成empty tree了。所以,这就说明这个代码写的是对的。如果哪里写的不对或者哪里不清楚的,就给小编留言吧!欢迎骚扰!
以后小编还会继续写有关数据结构的问题,敬请期待吧!
阅读全文
1 0
- 如何用C++递归来删除所有的BST节点
- 如何用C++递归来查找BST中的根节点的inorder successor
- 如何用C++递归在BST(Binary Search Tree) 数有几个节点大于根节点的数字
- 如何用C++递归来实现copy even data from the original BST
- [收集]在winfrom(c#) 下如何用程序删除本机的所有cookies?
- 如何使用C++递归来实现在BST(Binary Search Tree)里将所有的叶子节点上的数字求和
- 递归删除所有叶子节点
- zookeeper递归删除所有节点
- 【C语言】如何用递归的方法实现n^k
- 如何用C++递归的方法来将循环链表的unique data找出来
- 递归删除一个节点以及该节点下的所有节点
- 如何用一段SQL语句递归找到一个目录下的所有子目录...
- 如何用一段SQL语句递归找到一个目录下的所有子目录...
- BST的删除的非递归实现
- 轮子-如何用python删除指定文件夹里面的所有文件
- 如何用递归的方式颠倒字符串
- 递归删除父节点及所有子节点
- 【转】如何用 C/C++ 求 1 到 1000 内的所有完全数
- 网站开发(八)后台新增栏目的添加和显示
- Fidder 模拟POST GET请求
- JavaMail 邮件开发 smtp协议开发&ssl协议开发(阿里云)
- qt 生成 makefile
- C++中指针和引用的区别
- 如何用C++递归来删除所有的BST节点
- insert into 实现插入 或者满足条件更新实例
- Leetcode 300 :Longest Increasing Sequence
- windows下查找指定端口占用情况
- HIVE 之压缩格式
- 【对标TensorFlow】阿里公开内部超大规模分布式机器学习平台,对此你怎么看?
- jQuery插件之【jqGrid】常用语法整理
- VMware10 设置上网(主机为连接无线路由器)
- Songs (UVA-1346)贪心