#include <algorithm>
#include <iostream>
void printSets(int* a, int n)
{
int i = 1;
int total = std::pow(2.0, n);
int cur;
int cnt = 1;
while(i < total)
{
std::cout << "Possibility " << cnt << ": ";
cur = i;
int idx = 0;
while(cur)
{
if(cur & 1)
std::cout << a[idx] << ". ";
cur >>= 1;
idx++;
}
cnt++;
i++;
std::cout << "\n";
}
};
int main()
{
int a[] = {1, 2, 3, 4};
printSets(a, sizeof(a) / sizeof(a[0]));
return 0;
}
打印出数组的所有子集
最新推荐文章于 2022-10-02 16:25:10 发布