Set 来自动态大小集的静态大小排列

Set 来自动态大小集的静态大小排列,set,combinatorics,Set,Combinatorics,如何获得组合大小只需为静态的列表的所有组合,例如,如果列表有4个元素,那么它只需要长度为4而不是3、2和1的排列。我猜这需要递归。独特的组合会很有帮助,但我希望看到它在最简单的没有唯一性?我的小狗力量的形式 set s = { x1, x2, x3, x4 }; array solution; permute( i ) => if( i == 0 ) => print and return; while unused elements in set =>

如何获得组合大小只需为静态的列表的所有组合,例如,如果列表有4个元素,那么它只需要长度为4而不是3、2和1的排列。我猜这需要递归。独特的组合会很有帮助,但我希望看到它在最简单的没有唯一性?我的小狗力量的形式

set s = { x1, x2, x3, x4 };
array solution;

permute( i ) =>
    if( i == 0 ) => print and return;

    while unused elements in set =>
        take element from set which is not in solution;
        put element in solution;
        permute( i - 1 );
        remove element from solution;
如果你想要一个更具体的答案,你必须提出一个更具体的问题。展示一些代码/努力/任何东西