A voir également:
- Creer arbre binaire
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer un lien pour partager des photos - Guide
- Binaire - Guide
- Créer un compte gmail - Guide
1 réponse
On ne va pas tout te faire pour toi je pense :)
Ce serait bien que tu commences ton Arbre et que tu nous poste ici les problèmes que tu rencontres. Ainsi nous pourrons t'aider plus spécifiquement.
Je vais quand même te donner la source Java de mon Arbre (elle date un peu), normalement tu devrais vite comprendre la logique et pouvoir l'adapter facilement au C++ si tu t'y connais un peu.
Ce serait bien que tu commences ton Arbre et que tu nous poste ici les problèmes que tu rencontres. Ainsi nous pourrons t'aider plus spécifiquement.
Je vais quand même te donner la source Java de mon Arbre (elle date un peu), normalement tu devrais vite comprendre la logique et pouvoir l'adapter facilement au C++ si tu t'y connais un peu.
/**
* Classe Arbre
* @author Scriptiz
* @version 1.3
*/
public class Arbre
{
Noeud racine;
public Arbre()
{
initialiser();
}
public void initialiser()
{
this.racine = null;
}
public void add(int entier)
{
if(this.racine == null)
{
this.racine = new Noeud(entier);
}
else
{
if(entier <= this.racine.getEntier())
{
this.racine.sousArbreGauche.add(entier);
}
else
{
this.racine.sousArbreDroit.add(entier);
}
}
}
public boolean contains(int entier)
{
if(this.racine == null)
{
return false;
}
else
{
if(entier < this.racine.getEntier())
{
return this.racine.sousArbreGauche.contains(entier);
}
else if(entier > this.racine.getEntier())
{
return this.racine.sousArbreDroit.contains(entier);
}
else if(entier == this.racine.getEntier())
{
return true;
}
}
return false;
}
public int nombreDeNoeuds()
{
int z = 0;
if(this.racine == null)
{
return z;
}
z += this.racine.sousArbreGauche.nombreDeNoeuds();
z++;
z += this.racine.sousArbreDroit.nombreDeNoeuds();
return z;
}
public String toString()
{
String s = "";
if(this.racine == null)
{
return s;
}
s += this.racine.sousArbreGauche.toString();
s += this.racine.getEntier() + " ";
s += this.racine.sousArbreDroit.toString();
return s;
}
private class Noeud
{
private int entier;
private Arbre sousArbreGauche;
private Arbre sousArbreDroit;
protected Noeud(int entier)
{
this.entier = entier;
this.sousArbreGauche = new Arbre();
this.sousArbreDroit = new Arbre();
}
protected int getEntier()
{
return entier;
}
protected void setEntier(int entier)
{
this.entier = entier;
}
protected Arbre getSousArbreGauche()
{
return sousArbreGauche;
}
protected void setSousArbreGauche(Arbre sousArbreGauche)
{
this.sousArbreGauche = sousArbreGauche;
}
protected Arbre getSousArbreDroit()
{
return sousArbreDroit;
}
protected void setSousArbreDroit(Arbre sousArbreDroit)
{
this.sousArbreDroit = sousArbreDroit;
}
}
}