Maximum d'un tableau en récursivité

amapro Messages postés 7 Date d'inscription lundi 27 novembre 2000 Statut Membre Dernière intervention 7 juin 2007 - 7 oct. 2006 à 13:50
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Derniè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.

Merci pour votre aide.

1 réponse

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
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);
}
3
Rejoignez-nous