求集合的所有子集/求集合的幂集/序列的所有子序列(c++实现)
对于这个问题的求解,我们可以像汉字的编码实现那样,用1代表一个元素出现在子集里,用0代表未出现。例如集合{1,2,3},用000表示{ },100表示{1 },101表示{1,3},111表示{1,2,3}。
照这个思路走下去,那么我们要求所有的子集只需考虑第n的元素的状态是0 / 1(出现或未出现)就行了。根据这个思路,我认为实现起来用迭代法较为方便。
//X为原集合,Xx为子集,cnt是为了统计求了多少个子集
void Listall(string X, string Xx,int&





