资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

子集生成

用二进制位的0和1表示集合中是否存在该元素
要生成0~n的子集,先生成0~n的二进制序列,这些序列的0、1位正好可以对应一个子集中全集在该位置上的元素是否存在,将其作为子集中存在的元素的标记,输出对应元素。

专注于为中小企业提供网站制作、做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业永新免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

#include
#include
#include
#include

using namespace std;
void subset(int n,int s){
for(int i=0;iif(s&(1<//s&(1<}
printf("\n");
}
int main(){
int n=4;
for(int i=0;i<(1<//i<(1<subset(n,i);
}

#include
#include
using namespace std;

void print_subset_zl(int n,int* A,int cur){//增量构造法
for(int i=0;iprintf("\n");//每次都要输出
int s=cur?A[cur-1]+1:0;//定序,确保只输出一次相同的集合
for(int i=s;iA[cur]=i;
print_subset_zl(n,A,cur+1);
}
}

void print_subset_wxl(int n,int* B,int cur){//传递数组
if(cur==n){
for(int i=0;iprintf("\n");
return;
}
B[cur]=1;//选
print_subset_wxl(n,B,cur+1);
B[cur]=0;//不选
print_subset_wxl(n,B,cur+1);
}

void print_subset_binary(int n,int s){
for(int i=0;iif(s&(1<printf("\n");
}

int main(){
int k[5];
print_subset_zl(5,k,0);
print_subset_wxl(5,k,0);
for(int i=0;i<(1<<5);i++){
print_subset_binary(5,i);
}
return 0;
}


网站名称:子集生成
当前地址:http://cdkjz.cn/article/ihejeg.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220