PlayScripts Posté(e) le 29 août 2018 Posté(e) le 29 août 2018 (modifié) Salut ! Vous avez besoin d'un système de tri ? Vous êtes au bon endroit ? ! Le petit algorithme suivant (moins de 15 lignes) va vous permettre de trier une liste contenant des nombres, dans un ordre croissant ou décroissant. Ce système de tri prend aussi en charge les égalités, les nombres à virgules ainsi que les nombres négatifs. Pratique non ? De plus, vous n'avez pas besoin d'autres plugins (juste Skript est nécessaire) ! function sorting(1: numbers) :: numbers: loop {_1::*}: set {_1} to 1 loop {_2::*}: loop-value-1 >= loop-value-2 # Pour trier la liste dans un ordre décroissant, mettez "<=" au lieu de ">=". add 1 to {_1} set {_2} to {_1} + 1 set {_3::*} to {_2::*} loop (size of {_2::*} - {_1} + 1) times: set {_3} to {_2} - 1 set {_2::%{_2}%} to {_3::%{_3}%} add 1 to {_2} set {_2::%{_1}%} to loop-value return {_2::*} Pour utiliser la fonction, c'est très simple. Imaginons une liste {_numbers::*} contenant des nombres : command /test: trigger: set {_numbers::*} to 8, 4, 12, -6, 2, 1.5, 19, 726, 0.28, -65, 3, 13, 19, 72, 21, 15 and 6 send "Départ :" loop {_numbers::*}: send "%loop-value%" set {_numbers::*} to sorting({_numbers::*}) send "Arrivée :" loop {_numbers::*}: send "%loop-value%" Cette commande va trier la liste ci-dessus dans un ordre croissant. Pour trier la liste dans un ordre décroissant, référez-vous à la ligne 5 de la fonction. Merci d'avoir lu ? ! Modifié le 1 septembre 2018 par PlayScripts 4
noftaly Posté(e) le 29 août 2018 Posté(e) le 29 août 2018 Joli ! ca fonctionne bien ? et ca m'a l'air optimisé ! 1
PlayScripts Posté(e) le 1 septembre 2018 Auteur Posté(e) le 1 septembre 2018 Merci ?. Au passage, j'ai optimisé encore plus l'algorithme. 1
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant