Tableau : Tri à Bulles - Java - Programmation
Marsh Posté le 06-08-2010 à 06:14:12
Je ne sais coder en Java et il est tard mais il me semble voir le problème:
Code :
|
En gros ton code c'est: Tant que permut est égal a false, on définit permut égal a false, ensuite on fait une boucle et si deux éléments doivent être inversés, permut est mis a true.
Le principe du tri a bulles, c'est de faire une boucle qui ne s'arrête dès qu'il ne reste plus d'inversions à effectuer dans le tableau a trier. Or dans ton cas, tu dis que dès qu'il faut inverser deux éléments de ce tableau, la boucle doit s'arrêter.
Perso je verrais plus un truc dans ce style:
Code :
|
Ici la boucle ne va s'arrêter que si elle ne rentre pas dans la condition (puisque dès le début de la boucle on met permut a true, et que ta boucle ne continue que si permut est égal a false). Or, si ton algorithme ne rentre pas dans la boucle, c'est tout simplement qu'il n'y a plus de tri a effectuer donc on peut s'arrêter.
Marsh Posté le 06-08-2010 à 10:37:29
Pas mieux, Wiids a tout dit.
Et un p'tit conseil, tes variables, donne leur des noms qui te permettent de suite de te rappeler ce qu'elles représentent/à quoi elles servent.
Ca a l'air con, mais "permut", voilà quoi.
Alors que si tu l'avais appelé "ilYAEuUnePutainDePermutationPendantLaDerniereBoucle" par exemple, ben à chaque fois que tu vas écrire un test/une affectation, ca sera beaucoup plus clair pour toi.
(oui c'est exagéré mais l'idée est là)
Marsh Posté le 06-08-2010 à 11:42:36
Merci beaucoup de m'avoir éclairci du coup en réflichissant un peu je trouve ça mieux de faire :
Code :
|
On continue à boucler tant qu'il y a des permutations
Marsh Posté le 06-08-2010 à 02:33:47
Bonjour !
Je suis débutant en programmation et je m'amuse à réaliser "des petits exos types".
Ici, ce programme remplit un tableau tabInt de type int avec 5 valeurs aléatoires.
Puis il affiche ce tableau et demande si l'utilisateur désire trier ce tableau.
Jusque là tout est OK.
Mais là où celà bloque c'est au moment du tri, lorsque j'affiche mon tableau après l'avoir trier... ce n'est pas correctement trier...
Exemple d'affichage :
3 - 7 - 9 - 5 - 7
Voulez-vous trier ce tableau ? [oui] / [non]
oui
3 - 7 - 5 - 7 - 9
Mon code :
Merci pour vos réponses