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 までご返信いただければ幸いです。よろしくお願いいたします。