配列の要素の組み合わせを出力したいのですが、
実装をどのようにするか迷っています・・・

配列
int array[10] = {0,1,2,3,4,5,6,7,8,9};

出力
{0}, {1}, {2}, {3}... {9}
{0,1}, {0,2}, {0,3}... {8,9}
{0,1,2}, {0,1,3}... {7,8,9}
...
{0,1,2,3,4,5,6,7,8,9}

このような出力を実現するにはどのようにコードを組めば効率が良いでしょうか?