Anonymous user
Power set: Difference between revisions
→{{header|C}}: rewrite to remove size limit
(→{{header|Perl 6}}: simplify, supply alternative impl) |
(→{{header|C}}: rewrite to remove size limit) |
||
Line 224:
=={{header|C}}==
<lang c>#include <
struct node {
char *s;
{▼
struct node* prev;
};
void powerset(char **v, int n, struct node *up)
▲{
struct node me;
}▼
if (!n) {
putchar('[');
while (up) {
printf(" %s", up->s);
up = up->prev;
}
} else {
me.s = *v;
me.prev = up;
powerset(v + 1, n - 1, up);
powerset(v + 1, n - 1, &me);
}
}
int main(int argc, char
{
powerset(argv + 1,
}</lang>
{{out}}
<pre>
% ./a.out 1 2 3
[ ]
[ 3 ]
[ 2 ]
[ 3 1 ]
</pre>
=={{header|C++}}==
|