Bonjour,
J'essaye de comprendre un code que j'ai ecrit en fait cela se porte sur la fct avec le proto construiren(Noeud *&,int)
Je n'arrive pas expliquer pourquoi avec ce proto cela marche, et pas avec ce proto construiren(Noeud *, int), ici mon arbre ne construit qu'un noeud
merci de m'expliquer et de me dire si cela ce fait car j'en doute je trouve ce la byzarre
Code :
- //
- #include <iostream>
- #include "arbre.h"
- using namespace std;
- Arbre::Arbre(){
- racine=NULL;
- noeudc=NULL;
- }
- void Arbre::construire(int v){
-
- construiren(racine,v);
- }
- void Arbre::construiren(Noeud *&r, int v){
- if(r==NULL) {
- r = new Noeud;
- r->v = v;
- r->fg= NULL;
- r->fd = NULL;
- if(racine==NULL) racine=r;
- cout << *&r << " " << &r << endl;
- }
- else {
- if(v <= r->v){
- construiren(r->fg,v);
- }
- else {
- construiren(r->fd,v);
- }
- }
- }
- void Arbre::affiche(){
- affichen(racine);
-
- }
- void Arbre::affichen(Noeud *r){
- if(r!=NULL){
- // cout<< r->v << " " << "v" << endl;
- affichen(r->fg);
- affichen(r->fd);
- }
- }
|
Message édité par asphro le 06-11-2005 à 20:52:18