
Envoyé par
parl2871
Seulement, Je pense ici que nous éliminons qu'un seul tier à chaque tour de boucle while non?
Oui, c'est vrai. Pour éliminer plus, il faut partir (comme tu le faisais) sur le tier du milieu et pouvoir éventuellement revenir sur un tier précédent. Ceci dit, le principe est le meme (au niveau de l'evolution du pas - c'etait ca ton erreur). Partir du premier tier donne un code plus simple à comprendre. Une fois compris, tu peux l'adapter comme tu veux.
Quand à
int i= Math.min(debut + pas, tableau.length - 1);
Le principe, c'est que si tu as éliminé le tier courant, tu passes au tier suivant (c'est à dire debut + pas). Et pour éviter d'etre en dehors du tableau si le nombre d'element n'est pas multiple de 3, on met la borne max à tableau.length - 1.
Partager