Tableau trié en java
Résolu/Fermé
grosprobleme23
-
9 déc. 2013 à 14:51
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 10 déc. 2013 à 18:35
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 10 déc. 2013 à 18:35
A voir également:
- Trier un tableau java avec une boucle
- Trier tableau excel - Guide
- Tableau croisé dynamique - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Tableau ascii - Guide
2 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
9 déc. 2013 à 17:09
9 déc. 2013 à 17:09
Bonjour,
Par contre, en dehors de ce -1 très bien expliqué par Le Père, ton programme ne peut pas marcher !
Il ne faut pas mettre "return" à l'intérieur de la boucle, sinon il s'arrêtera au premier élément qui est inférieur au suivant. Du coup, le tableau [0, 1, 9, 8] sera marqué comme trié, ce qui est faux.
Plus gênant encore, ce code ne compile même pas ! Il y a des soucis avec les accolades, et le "else" qui est en-dehors de la boucle FOR alors qu'il renvoie au IF...
Xavier
Par contre, en dehors de ce -1 très bien expliqué par Le Père, ton programme ne peut pas marcher !
Il ne faut pas mettre "return" à l'intérieur de la boucle, sinon il s'arrêtera au premier élément qui est inférieur au suivant. Du coup, le tableau [0, 1, 9, 8] sera marqué comme trié, ce qui est faux.
Plus gênant encore, ce code ne compile même pas ! Il y a des soucis avec les accolades, et le "else" qui est en-dehors de la boucle FOR alors qu'il renvoie au IF...
Xavier
Telsample
Messages postés
7
Date d'inscription
lundi 9 décembre 2013
Statut
Membre
Dernière intervention
9 décembre 2013
1
9 déc. 2013 à 14:55
9 déc. 2013 à 14:55
On fait t.length-1 car la méthode length() renvoie la taille du tableau. Or un tableau de 10 cases, va en réalité de t[0] à t[9] donc il faut que i aille de 0 à 9 et non pas de 0 à 10.
Telsample
Messages postés
7
Date d'inscription
lundi 9 décembre 2013
Statut
Membre
Dernière intervention
9 décembre 2013
1
9 déc. 2013 à 15:25
9 déc. 2013 à 15:25
Paraphrase.
9 déc. 2013 à 18:44
Ça ce n'est pas très gênant, il manque les deux dernières accolades fermantes, la classe qui englobe, le main, etc. Mais le plus important est là. Je préfère un code qui va à l'essentiel plutôt que s'embêter avec des lignes inutiles que l'on devine de toute façon.
"Il ne faut pas mettre "return" à l'intérieur de la boucle, sinon il s'arrêtera au premier élément qui est inférieur au suivant."
Je suis (presque) d'accord avec toi, cependant je garderai quand même un des deux return, pour renvoyer false dès qu'on a détecté un élément plus grand que son successeur. Du coup il faudrait même carrément changer le test sur le if, parce que là on teste si le tableau est décroissant, alors certes c'est un tri, mais implicitement on s'attend à ce que ce soit un tri en ordre croissant.
Enfin, il faudrait traiter le cas où t==null, quitte à renvoyer soit même une exception, mais c'est mieux qu'attendre que le t.length provoque lui même un NullPointerException.
10 déc. 2013 à 13:08
10 déc. 2013 à 18:35