Voila. J'ai un arbre binaire qui stock des classe CProduit. Et je veux faire une recherche dedans. La fonction que j'ai fait pour l'instant fait planter mon programme. Il m'affiche le resultat et quand je veux fermer mon ecran, tout se fige. Voici mon algo de recherche :
CProduit CListeProduit::Afficher (TCHAR* p_code)
{
CProduit tmp;
//Si on est pas sur le bon produit
if (wcscmp(p_code,TEXT("")) != 0)
{
//Alors si le code est plus grand
if (wcscmp(p_code, m_valeur.GetGenCode()) > 0)
{
//Et que la branche de droite existe
if (m_droite == NULL)
return tmp;
else
//On va chercher dans la branche de droite
tmp = m_droite->Afficher(p_code);
}
else if(wcscmp(p_code, m_valeur.GetGenCode()) < 0)
{
if (m_gauche == NULL)
return tmp;
else
tmp = m_gauche->Afficher(p_code);
}
else
tmp = m_valeur;
}
else
tmp = m_valeur;
return tmp;
}
Et voici mon arbre :
class CListeProduit
{
private:
CProduit m_valeur;
class CListeProduit *m_gauche;
class CListeProduit *m_droite;
public:
void Insert (CProduit p_ajout);
void Liberer ();
void Rechercher (TCHAR* p_code);
CProduit Afficher (TCHAR* p_code = TEXT(""));
CListeProduit()
{
m_gauche = NULL;
m_droite = NULL;
}
~CListeProduit()
{
//Liberer();
}
};
Merci d'avance
Mess with the best
Die Like the rest