n個の要素を持つ配列において、
そのn個のすべての組み合わせの
配列を返すプログラムってどんなですか?

例えば配列の要素が(1,2,3)なら、「すべての組み合わせ」としては
[1][2][3][1,2][2,3][1,3][1,2,3]です。

アルゴリズムだけでもよいので教えてください。