Aller au contenu

Sytème de tri (avec égalités, nombres à virgules et nombres négatifs)


Messages recommandés

Posté(e) (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é par PlayScripts
  • J'aime 4

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.