Program to delete duplicates from a link list

Program to generate all the subsets of an array

Program to generate all the subsets of an array

Given a list of numbers , write a Program to generate all the subsets of an array.

Sample input:

3 
1 2 3

sample output:-

3 
2 
2 3 
1 
1 3 
1 2 
1 2 3

Program to generate all the subsets of an array:-

The objective of the code is to generate all the subsets of a list of elements . So we will write Program to generate all the subsets of an array .

Code:-

//Program to print the all subsets

#include<bits/stdc++.h>
using namespace std;

vector<vector<int>> subsets;

// function for print the subsets

void Printsubsets(vector<int > &subset, int i ,vector<int >&nums)
{
    if(i==nums.size())
    {
        subsets.push_back(subset);
        return;
    }
    
    // ith element in subset 
    Printsubsets(subset,i+1,nums);
    
    // ith element in subset  
    subset.push_back(nums[i]);
    
    // call function for next element
    Printsubsets(subset,i+1,nums);
    
    // backtrack 
    subset.pop_back();
}

// Driver function

int main()
{
    vector<int> arr,empty;
    int n,ele;
    cout<<"Enter the number of elements"<<endl;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>ele;
        arr.push_back(ele);
    }
    
    // calling of function 
    Printsubsets(empty,0,arr);
    
    
    // printing of all the subsets
    cout<<"Subsets are "<<endl;
    
    for(auto subset : subsets)
    {
        for(auto ele : subset)
        {
            cout<<ele<<" ";
        }
        cout<<endl;
    }
    return 0;
}

Output:-

Enter the number of elements
3
1 2 3 
Subsets are 

3 
2 
2 3 
1 
1 3 
1 2 
1 2 3

 

Recommended post:-

codechef problems:-

Wipro :-

Infytq :-

Key Points;-

Hackerrank:-

C-tutorial:-

See more:-

 

 

 

 

 

 

 

 

 

 

 

 

Leave a Reply

Your email address will not be published.