我想逐步进行数字排列,
首先决定是[1 2]
还是[2 1]
,然后如果[2 1]
被接受,则决定3
的位置,即
[3 2 1] or [2 3 1] or [2 1 3].
换句话说,在每个步骤中,前一个数字的位置是固定的([2 1]
是固定的)。
我怎样才能在每一步中产生这样的排列?
答案 0 :(得分: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