combinat[nextperm] - 順列の辞書式順序の後続要素を作成
combinat[prevperm] - 順列の辞書式順序の先行要素を作成
combinat[firstperm] - 辞書式順序の最初の順列を作成
combinat[lastperm] - 辞書式順序の最後の順列を作成
|
使い方
|
|
nextperm( p )
prevperm( p )
firstperm( n )
lastperm( n )
|
|
パラメータ
|
|
p
|
-
|
permlist; n について 1 から n の正の整数の順列
|
n
|
-
|
nonnegint; 順列の次数
|
|
|
|
|
説明
|
|
•
|
n について 1 から n の整数の順列 p (タイプ permlist) に対して、コマンド nextperm は p の辞書式順序の後続要素を出力します。
|
•
|
p が次数 n の辞書式順序 ([n,n-1,...,2,1]) の最後の順列である場合は、値 FAIL が出力されます。
|
•
|
n について 1 から n の整数の順列 p (タイプ permlist) に対して、コマンド prevperm は p の辞書式順序の先行要素を出力します。
|
•
|
p が次数 n の辞書式順序 ([1,2,...,n-1,n]) の最初の順列である場合は、値 FAIL が出力されます。
|
•
|
コマンド firstperm は1から n の整数の集合 {1,2,...,n} の順列のうち、辞書的順序の最初の順列を出力します。これは順列 [ 1, 2, ..., n ] です。
|
•
|
コマンド lastperm は1から n の整数の集合 {1,2,...,n} の順列のうち、辞書的順序の最後の順列を出力します。{1,2,...,n} の辞書的順序の最後の順列は [n, n-1, ..., 2, 1 ] です。
|
|
|
互換性
|
|
•
|
combinat[nextperm] コマンドは Maple 16 で導入されました。
|
|
|
スレッド安全性
|
|
•
|
Maple 16 から combinat[nextperm]、combinat[prevperm]、combinat[firstperm]および combinat[lastperm] コマンドはスレッドセーフになりました。
|
|
|
例
|
|
| (1) |
>
|
nextperm( [ 1, 3, 2 ] );
|
| (2) |
>
|
nextperm( [ 4, 3, 2, 1 ] );
|
| (3) |
>
|
prevperm( [ 2, 1, 3 ] );
|
| (4) |
>
|
prevperm( [ 1, 2, 3, 4, 5 ] );
|
| (5) |
| (6) |
| (7) |
|
|