cs_vivi120
Messages postés3Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention30 avril 2007
-
29 avril 2007 à 22:52
cs_vivi120
Messages postés3Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention30 avril 2007
-
30 avril 2007 à 20:12
bonjour il faudrait que je programme (~5-6 lignes) une fonction récursive pour inverser une liste chainée !!
Mais je ne trouve pas la façon pour y procéder!! Pourriez vous m'aider svp, voici mon code:
"import java.util.LinkedList;
class ListeChainee{
int valeur;
ListeChainee suivant;
static ListeChainee Renverser(ListeChainee l) {
// version récursive
if (l!=null) {
l.suivant = Renverser(l.suivant);
}
return l;
}
public static void main(String[] args) {
ListeChainee test = new ListeChainee(12, new ListeChainee(34, new ListeChainee(56, null)));
ListeChainee.imprimer(test);
System.out.println();
ListeChainee.imprimer(Renverser(test));
}
}"
cs_laurent1024
Messages postés987Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention30 août 201225 30 avril 2007 à 09:52
Inverser une liste chaine récursivement c'est mettre le premier élément a la fin de la liste chaine, et appeller l'inversion de la liste chainé sur les les autres éléments de la liste chaine
A B C D E F => inverser (B C D E F) + A
=> inverser(inverser(C D E F) + B) +A
=> inverser(inverser(inverser(D E F) + C) +B) + A
=> ...
cs_vivi120
Messages postés3Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention30 avril 2007 30 avril 2007 à 10:50
Bonjour laurent,
j'ai réussi à inverser ma liste chaînée de façon itérative (cf première réponse), mais je ne sais pas comment implémanter la fonction inverser(liste chainéee l) de façon récursive! Regarde le code que j'ai mis ci dessus tu comprendra tout de suite!
En tout cas, merci de ton aide..