@permute(t:tab, n:numeric)

returns a new tab which contains the n th permutations of the elements of t. They are factorial s permutations, where s is the size of t.

The first permutation is numbered 0 and corresponds to the permutation which rearranges the elements of t in an array t_0 such that they are sorted increasingly. The tab t_0 is the smallest element amongst all tab that can be done by rearranging the element of t. The first permutation rearranges the elements of in a tab t_1 such that t_0 < t_1 for the lexicographic order and such that any other permutation gives an array t_k lexicographicaly greater than t_0 and t_1. Etc. The last permutation (factorial s - 1) returns a tab where all elements of are in decreasing order.

For example:

       $t := [1, 2, 3]
       @permute($t, 0) == [1, 2, 3]
       @permute($t, 1) == [1, 3, 2]
       @permute($t, 2) == [2, 1, 3]
       @permute($t, 3) == [2, 3, 1]
       @permute($t, 4) == [3, 1, 2]
       @permute($t, 5) == [3, 2, 1]

See also @sort.

See also Tab Manipulations @binary_search    @car    @cdr    @clear    [@clone]    @concat    @cons    @copy    @count    @dim    @domain    @drop    @empty    @find    @flatten    @gnuplot    @insert    @iota    @is_list    @is_prefix    @is_subsequence    @is_suffix    @lace    @last    @listify    @map    @max_val    @median    @member    @normalize    @occurs    @parse    @permute    @push_back    @push_front    @range    @reduce    @remove    @remove_duplicate    @replace    @reshape    @resize    @reverse    @rotate    @scan    @scramble    @size    @slice    @sort    @sputter    @stutter    @succession    @tab_history    @tab_history_date    @tab_history_rdate    @take    @to_num