Bonjour,
Tout d'abord je n'ai pas mis le sujet "interface" résolu car ce n'est pas encore le cas, il a fallu que je me penche sur d'autres choses dont le sujet suivant :
Soit : une liste Chainée d'objets appelés "Cellule" qui ont 2 attributs : [int valeur ;] pour contenir un entier et [Cellule suivant ;] contenant la référence de la Cellule suivante. Donc suivant sert de "pointeur" de la Cellule suivante.
Il ne s'agit pas ici d'une ArrayList fournie par Java.
(Pour le test j'ai chainé 6 cellules).
Je cherche à remplacer ce code qui fonctionne bien:
- Code:
-
// méthode Longueur
public int Longueur(){
Cellule T = tete;
int LongListe = 0;
while(T != null){
LongListe++ ;
T = T.suivant;
}
return LongListe ;
}
par une fonction récursivive
En fait, je voudrais surcharger la méthode Longueur en utilisant ce code :
- Code:
-
public int Longueur(Cellule T,int k){ // surchargée par les paramètres d'entrée
if(T==null){
return k ;
}
else{
k++ ;
Longueur(T.suivant,k) ; // récursivité
}
return k ;
}
La variable k s'incrémente bien ( j'ai tracé la variable) mais le dernier return me renvoi 1 alors que dans la boucle while au dessus j'ai bien mes 6 Cellules.
Je sais que Phildes n'est pas favorable à l'utilisation des fonctions récursives mais c'est pour un exercice et puis des fois il faut.
Merci pour vos conseils et au spécialiste Java.