Arbre binaire problème de segmentation
Fermé
mikhail105
Messages postés
4
Date d'inscription
vendredi 8 novembre 2013
Statut
Membre
Dernière intervention
8 décembre 2013
-
8 nov. 2013 à 10:21
mikhail105 Messages postés 4 Date d'inscription vendredi 8 novembre 2013 Statut Membre Dernière intervention 8 décembre 2013 - 10 nov. 2013 à 12:07
mikhail105 Messages postés 4 Date d'inscription vendredi 8 novembre 2013 Statut Membre Dernière intervention 8 décembre 2013 - 10 nov. 2013 à 12:07
A voir également:
- Arbre binaire problème de segmentation
- Codage binaire - Guide
- Arbre généalogique famille michelin - Télécharger - Généalogie
- Alphabet binaire - Forum Programmation
- Codage de caractère en binaire ✓ - Forum Programmation
- Pour être traitée par un ordinateur, l'information est codée avec un codage binaire (0 ou 1). elle occupe une certaine quantité d'espace mémoire mesurée en nombre de bits. voici deux façons de coder des lettres avec un codage binaire. le code 1 utilise 8 bits par lettre. le code 2 utilise moins de bits. - Forum Programmation
2 réponses
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
8 nov. 2013 à 23:34
8 nov. 2013 à 23:34
Aaah la magie des pointeurs ;)
Parfois ça porte à confusion... Tu as compris qu'il fallait utiliser des pointeurs dans ce cas de structure récursive, c'est déjà bien.
Mais le problème réside dans la fonction
Parfois ça porte à confusion... Tu as compris qu'il fallait utiliser des pointeurs dans ce cas de structure récursive, c'est déjà bien.
Mais le problème réside dans la fonction
inserer_element: tu créé un nouvel arbre si celui pointé est inexistant (NULL). Jusque là ça va, mais tu l'associes à
a1qui est un pointeur de noeud (type
arbre), or ce pointeur est copié vu qu'il est un paramètre de la fonction.
a1ne sortira pas de ce cadre, or tu veux l'associer au neud pointé; il faut donc des pointeurs de pointeurs, pour pointer l'
arbre, qui est lui-même un pointeur de noeud. C'est complexe mais après réflexion c'est logique; il m'a quand même fallu cogiter un peu pour trouver ça. Je te fais cadeau de la version pointe-pointeur de ta fonction:
void inserer_element(int e, arbre *a1)Du coup le
{
if (*a1==NULL)
{
*a1 = creer_arbre(e);
}
else if (e < ((*a1)->val))
{
inserer_element(e,&((*a1)->fils_g));
}
else
{
inserer_element(e,&((*a1)->fils_d));
}
}
maindevient en partie ça:
inserer_element(2,&temp);
inserer_element(3,&temp);
inserer_element(5,&temp);
mikhail105
Messages postés
4
Date d'inscription
vendredi 8 novembre 2013
Statut
Membre
Dernière intervention
8 décembre 2013
10 nov. 2013 à 12:07
10 nov. 2013 à 12:07
Je vous remercie :) Je vais remplacer ce code dans mon algorithme.
Merci encore une fois :)
Merci encore une fois :)