J'ai une question concernant l'implémentation de l'arbre de recherche binaire en C++. Voici la question ci-dessousArbres de recherche binaire
Implémentez un BST simple (non basé sur un modèle) qui stocke des entiers. Fournissez les opérations suivantes: insertion, suppression, traversée inOrder, traversée preOrder, traversée postOrder.
Utilisez des routines récursives pour gérer l'arborescence.
Le traitement d'un noeud implique simplement l'impression du contenu du noeud, qui dans ce cas est l'entier stocké dans le noeud.
Les données doivent provenir de fichiers de test. Le programme principal doit ouvrir le fichier de données et l'insérer dans l'arborescence et faire la démonstration d'autres opérations arborescentes.
Le but de cet exercice est de démontrer que vous comprenez le BST. Il n'est pas nécessaire d'aller trop loin et de mettre en place des opérations non demandées.
J'ai seulement créé le fichier Header jusqu'à présent. Quelqu'un pourrait-il s'il vous plaît jeter un oeil et conseiller si je me dirige dans la bonne direction?
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
Ensuite, je dois créer le fichier BSTNode.cpp. Appréciez votre réponse par courrier à [email protected] Merci d'avance.
est-ce que les fonctions de traversée devraient être implémentées comme itérateurs ...? Je ne connais pas assez la convention C++ pour ajouter ceci comme réponse. – CookieOfFortune
Ne jamais mettre: using namespace std; dans le fichier d'en-tête. –