LlListSort/fr
From Second Life Wiki
| Portail LSL | | | Fonctions | | | Évènements | | | Types | | | Constantes | | | Contrôle d'exécution | | | Bibliothèque de scripts | | | Tutoriels |
Fonction: list llListSort( list src, integer pas, integer croissant );
| 184 | N° de fonction |
| 0.0 | Délai |
| 10.0 | Energie |
Renvoie un correspondant au list src dont les éléments de chaque pas ont été triés.
| • list | src | – | List à trier. | |
| • integer | pas | – | Ecart entre deux éléments à trier, si la données est inférieure à 1, la valeur est considérée comme étant égale à 1. | |
| • integer | croissant | – | Si FALSE alors, le tri est décroissant, sinon croissant. |
Spécifications
Un tri bulle est utilisé pour effectuer l’opération.
L’ordre de tri est influencé par le type de chaque élément.
Chaque type est trié comme un list séparé puis les éléments sont recombinés dans un même list pour avoir le même ordre (cf exemple suivant).
llListSort([1, "C", 3, "A", 2, "B"], 1, TRUE) == [1, "A", 2, "B", 3, "C"] llListSort([1, 3, 2, "C", "A", "B"], 1, TRUE) == [1, 2, 3, "A", "B", "C"] llListSort([1, "C", 3, "A", 2, "B"], 2, TRUE) == [1, "C", 2, "B", 3, "A"]
Inconvénients
Un tri bulle a une complexité en N*N. La raison pour laquelle Linden Labs n’utilise pas un algorithme en N*log(N) tel que le tri tête ou le tri fusion est à ce jour inconnu...

