#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);
本文介绍了一个使用 C++ 编写的递归函数 GetPowerSet,该函数能够输出给定整数集合的所有子集(即幂集)。通过递归地决定是否将集合中的每个元素加入到当前子集中,最终输出所有可能的子集组合。
8773

被折叠的 条评论
为什么被折叠?



