[self powersetArray:[NSMutableArray arrayWithArray:@[@"1",@"2",@"3",@"4"]] index:0 set:[NSMutableArray array]];
- (void)powersetArray:(NSMutableArray *)array index:(NSInteger)index set:(NSMutableArray *)set {
NSMutableArray *temp = [NSMutableArray array];
temp = [NSMutableArray arrayWithArray:set];
if (index >= array.count) {
NSLog(@"set = %@",set);
} else {
[self powersetArray:array index:index + 1 set:temp]; // 每次需要set完整的版本
[temp addObject:array[index]]; // 每次将temp数组的部分元素加到temp中
[self powersetArray:array index:index + 1 set:temp]; // //temp成为新的set
//如果powerset的是时候一直i+1就等于把set数组一直置空
}
}