Esempio n. 1
0
void afficherArbre(Arbre *a) {
	if (a != NULL) {
		printf("(");
		afficherArbre(a->g);
		printf("%d", a->x);
		afficherArbre(a->d);
		printf(")");
	} else {
		printf("_");
	}
}
Esempio n. 2
0
void afficherArbre(arbre *a){
    printf("%d\n|\n ",a->val);
    if(a->nbE > 1){
        arbre *ptr=a->enfant;
        while (ptr!=NULL){
            afficherArbre(ptr);
            ptr=ptr->frere;
        }
    }
}
Esempio n. 3
0
int main(int argc, char **argv)
{
   /* Déclarons 3 listes chaînées de façons différentes mais équivalentes */
   
   
   arbre *a = creerArbre(1);
   arbre *b = creerArbre(8);
   ajouterEnfant(a,2);
   ajouterEnfant(a,4);
   ajouterEnfant(b,16);
   embranche(a,b);
   afficherArbre(a);
   return 0;
}
Esempio n. 4
0
int main()
{
    Liste l1=Exemple1();
    Liste l2=Exemple2();
    printf("Liste1 de 7 elements :\n");
    afficherliste(l1);
    printf("Liste2 de 6 elements :\n");
    afficherliste(l2);


    Arbin a1=la(l1);
    Arbin a2=la(l2);
    printf("Affichage de l'arbre1\n");
    afficherArbre(a1);
    printf("Affichage de l'arbre2\n");
    afficherArbre(a2);
    printf("\n");

    Liste l3=al(a1);
    printf("al sur arbre1 :\n");
    afficherliste(l3);

    Arbin u0=union0(a1,a2);
    Arbin u1=union1(a1,a2);

    printf("Affichage de union0 :\n");
    afficherArbre(u0);

    printf("Affichage de union1 :\n");
    afficherArbre(u1);

    printf("Oter le minimum de l'arbre1\n");
    Arbin o=om(a1);
    afficherArbre(o);

    Arbin i=ins(a1,42);
    printf("Insertion de 42 dans l'arbre1\n");
    afficherArbre(i);

    freeListe(l1);
    freeListe(l2);
    freeListe(l3);

    freeArbre(a1);
    freeArbre(a2);
    freeArbre(u0);
    freeArbre(u1);
    freeArbre(o);
    freeArbre(i);


    return 0;
}
Esempio n. 5
0
int main( int argc, char * argv[] ){

	noeud * b = creerNoeud_f( T_CST_REEL,4.5456456 );
	noeud * c = creerNoeud_i( T_CST_ENTIER,85);
	noeud * d = creerNoeud_i( T_CST_ENTIER,10 );


	noeud * a = creerNoeud( T_AFFECT );
	ajouterFrere( a,b );
	ajouterFils( a,c );
	ajouterFils( a,d );


	afficherArbre(a);
	printf("\n\n");

	return 0;
}
Esempio n. 6
0
Arbre* equilibrer(Arbre *a) {
	afficherArbre(a);
	printf("\n");

	if (a != NULL) {
		a->g = equilibrer(a->g);
		a->d = equilibrer(a->d);

		if (hauteur_max(a->g) > (hauteur_max(a->d) + 1)) {
			a = rotd(a);
		} else if (hauteur_max(a->d) > (hauteur_max(a->g) + 1)) {
			a = rotg(a);
		}

		/*if (abs(hauteur_max(a->g) - hauteur_max(a->d)) > 1) {
				a = equilibrer(a);
			}*/
	}



	return a;

}