Bonjour à tous (et Joyeuses Fetes)!
Je réalise un programme gérant un certain nombre d'opérations dans un arbre binaire de recherche.
Mon arbre stocke des heures et mon probleme ici se trouve sur une fonction chargée de supprimer toutes les heures inférieures à une certaine heure (ici le temps actuel, mais le problème n'est pas là).
La fonction suppress (void suppress(t_arbre **root, float arrivee) ) est une fonction qui supprime le noeud de l'arbre dont la valeur est entrée en paramètre (et elle marche). Quelqu'un sait pourquoi ma fonction ne marche pas? (la 1ere fois que je l'appelle elle ne fait rien (ne supprime pas la valeur pourtant inférieure au temps courant, la 2e fois elle segfault alors que rien n'a changé)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 void clear(t_arbre * arbre, float currenttime){ if (arbre!=NULL) { float tmp; while (min(arbre)<currenttime) { t_arbre *courant=arbre; while (courant->g!=NULL) { courant=courant->g; tmp=courant->aterrissage; } if (tmp<currenttime) suppress(&courant,tmp); } } }
Partager