Generate all subarrays of an array

If you want to practice data structure and algorithm programs, you can go through 100+ data structure and algorithm programs.

In this post, we will see how to generate all subarrays of given array.


Problem

Print all print all subarrays of given array.
For example:

If array is {1,2,3}
then you need to print
{1}, {2}, {3}, {1,2}, {2,3}, {1,2,3}

Solution

If there are n elements in the array then there will be (n*n+1)/2 subarrays.
Here is a simple algorithm for it.

  • We will use three loop to print subarrays.
  • Outer loop will be used to get start index
  • First inner loop will be used to get end index
  • Second inner loop will be used to print element from start to end index.

here is simple program to print all subarrays of given array..

package org.arpit.java2blog;

public class PrintSubarrayMain {

    public static void main(String args[]){
        PrintSubarrayMain psm=new PrintSubarrayMain();
        int arr[]= {1,2,3,4};
        psm.printSubArray(arr);
    }

    void printSubArray(int arr[])
    {

        int n=arr.length;
        for (int i=0; i <n; i++) //This loop will select start element
        {
            for (int j=i; j<n; j++) // This loop will select end element
            {
                for (int k=i; k<=j; k++) //This loop will print element from start to end
                {
                    System.out.print( arr[k]+" "); 
                }
                System.out.println();
            }
        }
    }
}

That’s all about how to generate all subarrays of a given array

[social_share share_on="facebook,twitter,linkedin,whatsapp"][post_navigator in_same_term="true"]

Leave a Reply

Your email address will not be published. Required fields are marked *

Subscribe to our newletter

Get quality tutorials to your inbox. Subscribe now.