3

私は数字の順列を段階的に作成したいと思います。最初にかどうかを[1 2]決定し[2 1]、次に[2 1]受け入れられる場合は、3ieの場所を決定します。

[3 2 1] or [2 3 1] or [2 1 3]. 

つまり、各ステップで前の桁の位置が固定されます([2 1]固定されます)。各ステップでそのような順列を生成するにはどうすればよいですか?

4

1 に答える 1

2

これを試すことができます:

n = 10; % intended length of result    
result = 1;
for k = 2:n
    id = randi(k);
    result = [result(1:id-1) k result(id:end)];
end
于 2012-10-01T09:45:48.383 に答える