Liste chaînée - Pile [Java] - Java - Programmation
Marsh Posté le 08-10-2013 à 18:50:22
Wesh
J'dois etre un peu neuneu et j'ai pas d'IDE Java donc je peux pas verifier, mais c'est quoi qui marche pas dans ton code?
Si j'ai bien suivi, si tu empiles 1,2,3,4 tu vas depiler 4,3,2,1 et ta methode toString devrait renvoyer le bon resultat ([4,3,2,1]).
Sauf que de visu, tu inseres pas les virgules donc ca va plutot retourner [4321], ta Stack temp ne sert a rien (tu mets des trucs dedans mais tu t'en sers jamais), et toString est censee etre neutre vis a vis de l'etat de ton objet, alors que la tu depiles carrement les elements pour de bon, et donc suite a un appel a toString ta pile finit vide.
Si tu veux eviter de depiler, pars de stk et utilise un pointeur specifique histoire de pas toucher a ta pile:
Maillon m = stk; |
(manque encore les virgules, et pas teste)
Marsh Posté le 08-10-2013 à 19:26:27
Je sais pas pourquoi je cherchais compliqué. En voyant ta solution, jme suis presque mis une baffe tellement c'est évident. :S
Du coup, ça donne ça
Citation : |
Marsh Posté le 08-10-2013 à 16:01:11
Bonjour,
Je suis un peu coincé sur une dernière méthode de classe de création de pile à partir d'une liste chaînée. La méthode toString me gêne un peu car j'aimerais pouvoir avoir quelque chose de la forme "[4, 3, 2, 1]", donc pouvoir remonter la pile "à rebrousse-poil" si on a empilé 1 puis 2 puis 3 puis 4.
J'ai commencé à faire une Stack temporaire pour pouvoir stocker le sommet de la pile, puis dépiler et à la fin reconstruire, mais je n'y parviens pas.
Je donne le code de la classe au quasi complet pour plus de clarté.
Merci par avance
Message édité par roswellentongues le 08-10-2013 à 16:02:13