[débutant] probleme avec une classe arbre
Salut, je voudrais creer une classe arbre, ou les noeuds ont au maximum n fils.
J'ai fait un petit truc, j'aimerais savoir s'il n'y a pas des erreurs grossieres (au niveau du style), mais surtout j'ai un probleme quand j'affiche un arbre : il ne va qu'a un rang plus loin... enfin il affiche le noeud courant et ses fils seulement, pas les petits fils.
Voila le .h :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
class Arbre
{
public:
Arbre(){};
~Arbre();
void init(int valeur, int profondeur);
void Arbre::affiche();
void Arbre::ajouteFils(Arbre fils);
private:
Arbre *fils;
int val;
int arite;
int profondeur; //racine a pour profondeur 0
}; |
Et le .cpp :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
void Arbre::init(int val, int profondeur)
{
Arbre *liste_de_fils=new Arbre[8];
if(!liste_de_fils)
exit(0);
this->fils=liste_de_fils;
this->val=val;
this->arite=0;
this->profondeur=profondeur;
}
Arbre::~Arbre()
{
if (fils!=NULL)
for (int i=0;i<arite;i++)
(fils[i]).~Arbre();
}
void Arbre::ajouteFils(Arbre fils)
{
this->fils[arite]=fils;
arite++;
}
void Arbre::affiche()
{
cout << val << "(";
if (fils!=NULL)
for (int i=0;i<arite;i++)
(fils[i]).affiche();
cout << ")";
} |
Vous l'aurez compris je debute, mais je n'ai pas reussi a trouver beaucoup d'info sur les arbres NON binaires :?