La pile ???
gacki
Messages postés
120
Statut
Membre
-
gacki Messages postés 120 Statut Membre -
gacki Messages postés 120 Statut Membre -
Bonjour,
j'ai une question concernant la pile j'essaye de comprendre le fonctionnement du dépilement
je veux savoir est ce que si en veux supprimer un élément qui est par exemple au milieu de la pile il faut supprimer tous se qui est avons puis en supprime celui la mais ici tous les autre élément seront disparu je sais qu'il a une méthode pour conservé ces élément mais se que je veux savoir c'est
est ce que c'est sa le fonctionnement du dépilement <elle détruit tout élément de la pile pour arriver a l'élément qu'on veux supprimer>???
j'ai une question concernant la pile j'essaye de comprendre le fonctionnement du dépilement
je veux savoir est ce que si en veux supprimer un élément qui est par exemple au milieu de la pile il faut supprimer tous se qui est avons puis en supprime celui la mais ici tous les autre élément seront disparu je sais qu'il a une méthode pour conservé ces élément mais se que je veux savoir c'est
est ce que c'est sa le fonctionnement du dépilement <elle détruit tout élément de la pile pour arriver a l'élément qu'on veux supprimer>???
1 réponse
Le dépilement ne supprime pas les données, tu perds éventuellement les pointeurs qui te permettent d'y accéder, mais à part si tu fais explicitement une libération de la mémoire, les données seront toujours en mémoire.
Ce qu'il faut faire c'est transvaser les éléments en haut de la pile vers une autre pile intermédiaire (éventuellement implicite en utilisant la récursivité), désallouer l'élément du milieu que tu veux supprimer, et remettre par dessus tout ceux que tu avais préalablement dépilé.
Tu n'auras pas de perte de mémoire, excepté bien sûr celui du milieu.
Remarque : une structure de pile n'est pas faite pour ce genre d'opérations. Si tu as besoin de supprimer des éléments en plein milieu, utilises plutôt une liste.
Ce qu'il faut faire c'est transvaser les éléments en haut de la pile vers une autre pile intermédiaire (éventuellement implicite en utilisant la récursivité), désallouer l'élément du milieu que tu veux supprimer, et remettre par dessus tout ceux que tu avais préalablement dépilé.
Tu n'auras pas de perte de mémoire, excepté bien sûr celui du milieu.
Remarque : une structure de pile n'est pas faite pour ce genre d'opérations. Si tu as besoin de supprimer des éléments en plein milieu, utilises plutôt une liste.
gacki
Messages postés
120
Statut
Membre
oooo ... merci beaucoup l'idée d'une deuxième pile ... très bonne idée