Algorithme de tri - Aide :-(
Fermé
gaerebut
Messages postés
1017
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2013
-
Modifié par gaerebut le 5/01/2011 à 16:55
gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 - 5 janv. 2011 à 18:32
gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 - 5 janv. 2011 à 18:32
A voir également:
- Algorithme de tri - Aide :-(
- Tri excel - Guide
- Logiciel de tri de photos - Guide
- Logiciel algorithme gratuit - Télécharger - Édition & Programmation
- Logiciel algorithme euromillion - Télécharger - Loisirs créatifs
- En cours de traitement sur le site de tri local ✓ - Forum Consommation & Internet
3 réponses
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
Modifié par avion-f16 le 5/01/2011 à 17:14
Modifié par avion-f16 le 5/01/2011 à 17:14
Salut.
Quel est le format de ton tableau contenant les moyennes ?
Array(1.5 , 2.4 , 3. 6 , ...) par exemple ?
Si oui, il suffit d'utiliser la fonction sort()
Si c'est un excercice, alors il te faudra deux fonctions :
- La principale qui contactera la seconde et qui fera divers assemblages.
- Une autre qui trouvera le plus petit nombre mais supérieur à un autre (celui le précédant).
Si tu veux la solution :
https://gist.github.com/7f85cf568f9dee55cba9
Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
Bonne année à tous
Quel est le format de ton tableau contenant les moyennes ?
Array(1.5 , 2.4 , 3. 6 , ...) par exemple ?
Si oui, il suffit d'utiliser la fonction sort()
Si c'est un excercice, alors il te faudra deux fonctions :
- La principale qui contactera la seconde et qui fera divers assemblages.
- Une autre qui trouvera le plus petit nombre mais supérieur à un autre (celui le précédant).
Si tu veux la solution :
https://gist.github.com/7f85cf568f9dee55cba9
Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
Bonne année à tous
coeus
Messages postés
3021
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
19 juin 2013
119
5 janv. 2011 à 17:06
5 janv. 2011 à 17:06
Peux-tu nous donner un exemple de valeur que pourrait avoir $arrResult ? Ça aiderait à visualiser ;-)
gaerebut
Messages postés
1017
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2013
171
5 janv. 2011 à 17:12
5 janv. 2011 à 17:12
Voici les 2 premiers résultat de mon tableau:
En te donnant ce code, je m'apperçoit que je me suis trompé dans mon algo !
Revoici son nouveau code (MAIS IL NE MARCHE TOUJOURS PAS :-( )
Merci
Gaerebut
[0] => [id] => 12 [moyenne] => [0] => 5 [1] => 1 [1] => [id] => 11 [moyenne] => [0] => 0 [1] => 0
En te donnant ce code, je m'apperçoit que je me suis trompé dans mon algo !
Revoici son nouveau code (MAIS IL NE MARCHE TOUJOURS PAS :-( )
$arrSort = false; while(!$arrSort){ for($n=0; $n<count($arrResult);$n++){ $nSub = $n-1; $nSup = $n+1; $moyenne = $arrResult[$n]['moyenne'][0]; if(!isset($arrResult[$nSup])){ $arrSort = true; break; } else if(!isset($arrResult[$nSub])) break; else{ if($moyenne < $arrResult[$nSub]['moyenne'][0]){ $tmpValue = $arrResult[$nSub]; $arrResult[$nSub] = $arrResult[$n]; $arrResult[$n] = $tmpValue; $n--; } else if($moyenne > $arrResult[$nSup]['moyenne'][0]){ $tmpValue = $arrResult[$nSup]; $arrResult[$nSup] = $arrResult[$n]; $arrResult[$n] = $tmpValue; $n++; } else break; } } }
Merci
Gaerebut
5 janv. 2011 à 18:32
En fait, pour plus de rapidité j'étais partie sur un algorithme de tri à bulle.
Ton algo est bien mais je doute qu'il ne soit plus rapide ?
Sinon j'utiliserai le même principe que le tiens :-)
Merci pour la réponse
A+
Gaerebut