12/05/2024, 17:42
Une nouvelle petite procédure : lshuffle, qui permet de randomiser une liste:
Exemple d'utilisation:
tcl
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
}
Exemple d'utilisation:
Code :
% 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