Voilà l'algorithme, il m'a pris 30 minutes, ça peut être utile pour classé des scores, comme les kills ;)
command /trie:
trigger:
loop 20 times:
set {_z} to a random integer between 1 and 100
add {_z} to {_list::*}
broadcast "%{_list::*}%" #List = la variable a trier
while {_list::*} is set:
set {_i} to size of {_list::*}
set {_b} to {_i}
loop {_b} times:
loop {_list::*}:
set {_index} to "%loop-index%" parsed as integer
set {_value} to "%loop-value-2%" parsed as integer
if {_index} = 1:
set {_current} to {_value}
else if {_current} <= {_value}:
set {_current} to {_value}
if {_index} = {_b}:
if {_current} <= {_value}:
set {_current} to {_value}
remove {_current} from {_list::*}
add {_current} to {_final::*}
else:
remove {_current} from {_list::*}
add {_current} to {_final::*}
set {_b} to {_b}-1
set {_list::*} to {_list::*}
loop {_final::*}:
add 1 to {_n}
if {_n} = {_i}:
exit
broadcast "%{_final::*}%" # Final = la variable de fin.
Bonne journée, soirée.