打印出数组的所有子集

来源:互联网 发布:seo文章内链 编辑:程序博客网 时间:2024/05/19 06:46
#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;}

原创粉丝点击