[JAVA] Implémentation des piles/files
Résolu/Fermé
delfre56
Messages postés
340
Date d'inscription
mardi 3 juillet 2012
Statut
Membre
Dernière intervention
23 février 2018
-
Modifié par delfre56 le 19/04/2016 à 17:39
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 21 avril 2016 à 22:01
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 21 avril 2016 à 22:01
A voir également:
- [JAVA] Implémentation des piles/files
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
- Waptrick jeux pes 2016 java - Forum logiciel systeme
1 réponse
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
19 avril 2016 à 18:06
19 avril 2016 à 18:06
Bonjour,
"comment définir ce que renvoie peek si on ne sait pas exactement si on est dans une pile ou une file ?"
Attention : tu n'es ni dans une pile ni dans une file puisque ton implémentation est une liste... tu ne seras jamais autre chose qu'une liste.
Si tu dois implémenter plusieurs interfaces simultanément (pile, file) et quelles ont des méthodes communes (peek), celles-ci doivent faire la même chose tout le temps peu importe leur cas d'utilisation.
Il faut donc t'arranger pour que la tête de la file soit également le haut de la pile, afin que peek renvoie toujours la bonne info pour les deux interfaces.
"comment définir ce que renvoie peek si on ne sait pas exactement si on est dans une pile ou une file ?"
Attention : tu n'es ni dans une pile ni dans une file puisque ton implémentation est une liste... tu ne seras jamais autre chose qu'une liste.
Si tu dois implémenter plusieurs interfaces simultanément (pile, file) et quelles ont des méthodes communes (peek), celles-ci doivent faire la même chose tout le temps peu importe leur cas d'utilisation.
Il faut donc t'arranger pour que la tête de la file soit également le haut de la pile, afin que peek renvoie toujours la bonne info pour les deux interfaces.
21 avril 2016 à 21:00
Le truc, c'est que non seulement je ne vois pas du tout comment faire ça, parce qu'entre renvoyer le premier élément d'une liste et son dernier, ça me semble compliqué de trouver une solution, mais surtout je ne vois plus du tout l'utilité de cette méthode. Le but de pouvoir utiliser la liste comme une pile ou comme une file, c'est justement qu'elle réagisse différemment selon comment on la considère, non ? Quel intérêt alors que la classe fasse la même chose dans les deux cas ?
21 avril 2016 à 22:01
Par contre on lui rajoute des méthodes qui vont permettre de manipuler ses éléments soit en FIFO pour les méthodes de la file, soit en LIFO pour les méthodes de la pile.
La classe ne va pas faire la même chose dans les deux cas, pour les méthodes de file elle va insérer un élément d'un côté de la liste (début ou fin, peu importe) et le supprimer de l'autre côté, pour les méthodes de pile elle va insérer et supprimer les éléments du même côté.
Ton problème de devoir gérer les deux cas en même temps va juste t'imposer une contrainte supplémentaire, celle que le côté où l'on supprime l'élément de la file, soit le même que celui où l'on supprime l'élément de la pile, afin que peek aille toujours de ce côté là pour récupérer sa valeur.