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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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