voila, j'aurais une petite question, meme si je pense connaitre deja la reponse..
j'ai les définitions suivantes pour mon AVL :
Code :
- typedef struct note
- {
- char *pMatiere;
- int iNote;
- struct note *pSuiv;
- }note;
- typedef struct eleve
- {
- int iNum;
- char *pNom;
- char *pPrenom;
- char *pVille;
- char *pTelFixe;
- char *pTelCel;
- char *pGroupe;
- note *pNotesTp;
- note *pNotesTd;
- }eleve;
- typedef struct arbre
- {
- eleve ePresent;
- struct arbre *pSag;
- struct arbre *pSad;
- int iBal;
- }arbre;
- typedef arbre *pArbre;
|
Ma question est simple : est-ce que pour supprimer mon arbre, il faut que je libere a chque noeud d'abord les notes (une liste chainée, plus ou moins grande), puis l'eleve (dans ce cas, je dois liberer un par un, le nom, le prenom, etc ??), et enfin, le noeud concerné ?
je pense que tout cela est nécessaire, mais je n'en suis pas sur, et surtout, c'est une opération plutot longue !!
merci de votre aide
++