amapro
Messages postés7Date d'inscriptionlundi 27 novembre 2000StatutMembreDernière intervention 7 juin 2007
-
7 oct. 2006 à 13:50
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013
-
7 oct. 2006 à 16:04
Salut!je débute en java et je veux écrire une méthode récursive qui retourne le maximum d'un tableau.Voila ma méthode:
<!-- BEGIN TEMPLATE: bbcode_quote -->
public static int maximumRec(int[] t,int pos) {
if(pos==t.length-1)
return t[pos];
else if(pos<t.length)
{ if(t[pos]<maximumRec(t,pos+1))
return t[pos+1];
else
return t[pos];
}
else return (0);
}
<!-- END TEMPLATE: bbcode_quote -->
le paramètre pos est initialisé à 0.
Je comprends pas pourqoui ça me donne pas le bon résultat.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 7 oct. 2006 à 16:04
Pourquoi le faire en récursif ??? Pour des opérations aussi simples, tu y gagnerais du temps, de la lisibilité, et surtout, tu ne risquerais pas d'avoir un stack overflow en le faisant dans une simple boucle !
Sinon, en récursif, ca donnerai plutôt un truc du genre :
public static int maximumRec(int[] t,int pos) {
int max;
if(pos==t.length-1)
return t[pos];
else if(pos<t.length)
{ max = maximumRec(t,pos+1);
if(t[pos]<max)
return max;
else
return t[pos];
}
else return (0);
}