У меня есть вопрос относительно реализации дерева двоичного поиска в C ++.
Вот вопрос ниже
Реализация простого (не шаблонного) BST, который хранит целые числа. Укажите следующие операции: вставка, удаление, обход 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. Заранее благодарим.