递归求子集
#include
#include
using namespace std;
void solution(int i,vector &nums,vector &item,vector > &result) //传引用
{
if(i >= nums.size())
return ;
item.push_back(nums[i]);
result.push_back(item);
solution(i+1,nums,item,result);
item.pop_back();
solution(i+1,nums,item,result);
}
int main()
{
vector nums;
nums.push_back(1);
nums.push_back(2);
nums.push_back(3);
vector item;
vector >result;
int i = 0;
result.push_back(item); //将空集push进result
solution(i,nums,item,result);
for(int i = 0; i < (1<< nums.size()); i++)
{
if(result[i].size() == 0)
{
cout<<"[]";
}
for(int j = 0; j < result[i].size(); j++)
{
cout<<"["<
网页题目:递归求子集
URL地址:http://azwzsj.com/article/igoeog.html