输出A幂集

本文介绍了一个使用 C++ 编写的递归函数 GetPowerSet,该函数能够输出给定整数集合的所有子集(即幂集)。通过递归地决定是否将集合中的每个元素加入到当前子集中,最终输出所有可能的子集组合。
#include "stdio.h"
//-----输出A幂集,有n+1个元素---k表示目前B中含有的元素,严蔚敏P150//
void GetPowerSet(int i, int const * A , int *B , int n ,int k=0)
{ //一次对A中的元素进行“取”或“舍”的过程
        if (i > n//输出
       {
               for (int j=0;j< k;j++)
                     printf( "%d" ,B [j]);
              printf( "\n" );        
       }
        else
       {
              GetPowerSet( i +1,A , B, n ,k );
               B [k ++]= A[ i ];
              GetPowerSet( i +1,A , B, n ,k );
       }
}

main.cpp
//-----GetPowerSet TEST求幂集则是---------------//
        int A[4]={1,2,3,4};
        int B[4];
       GetPowerSet(0,A,B,3,0);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值