我有一个关于 C++ 中的二叉搜索树实现的问题。这是下面的问题
实现一个存储整数的简单(非模板化)BST。提供如下操作:Insert、Remove、inOrder遍历、preOrder遍历、postOrder遍历。
使用递归例程来处理树。
处理一个节点只涉及打印出节点的内容,在这种情况下是存储在节点中的整数。
数据应该来自测试文件。主程序应打开数据文件并插入树并演示其他树操作。
本练习的目的是证明您了解 BST。没有必要过度使用它并进行未要求的操作。
到目前为止,我只创建了头文件。任何人都可以看看并建议我是否朝着正确的方向前进?
using namespace std;
#ifndef BSTNODE_H
#define BSTNODE_H
class BSTNode
{
private:
//Defines the 'node' structure
struct tree_node
{
tree_node *left; // left subtree has smaller elements
tree_node *right; // right subtree has larger elements
int m_data;
};
//root * r;
public:
//The Constructor
BSTNode();
//The Destructor
~BSTNode();
//Inserts a value into a BST, public function
void insert(const m_data & d);
//Removes a value from a BST, public function
void remove(const m_data & d);
//isEmpty function, public function
bool isEmpty();
BSTNode getData();
void inOrder(const m_data & d);
void preOrder(const m_data & d);
void postOrder(const m_data & d);
};
#endif
接下来我必须创建 BSTNode.cpp 文件。感谢您通过邮件回复 jediknight80n@hotmail.com 提前致谢。