Table des matières

lsort

Trie les éléments d'une liste

Syntaxe

lsort ?options? list

Description

Cette commande trie les éléments de list, retournant une nouvelle liste triée. L'implémentation de la commande lsort utilise l'algorithme merge-sort qui est un tri stable ayant pour performance caractéristique O(n log n).

Par défaut un tri ASCII est utilisé avec le résultat renvoyé en ordre ascendant. Néanmoins, quelconque des options suivantes peut être spécifiée avant list pour contrôler le processus de tri (les abréviations uniques sont acceptées):

Exemples

Voici la procédure lshuffle qui permet de rendre une liste aléatoire:

proc lshuffle {sorted} {
   set shuffled {}
   while { [llength $sorted] > 0} {
      set j [expr {int(rand() * [llength $sorted])}]
      lappend shuffled [lindex $sorted $j]
      set sorted [lreplace $sorted $j $j]
   }
   return $shuffled
}
set abc {a b c d e f g h i j k l m n o p q r s t u v w x y z}
puts $abc
# a b c d e f g h i j k l m n o p q r s t u v w x y z
puts [lshuffle $abc]
# k z o v j a t u q p g f l d e n c y r i w b h s x m
puts [lshuffle $abc]
# p g l x c b r y h o t j z d q w s k a v i f n u m e

Voir aussi

list