w3resource

Java: Segregate all 0s on left side and all 1s on right side of a given array of 0s and 1s

Java Array: Exercise-42 with Solution

Write a Java program to separate 0s and 1s in an array of 0s and 1s into left and right sides.

Pictorial Presentation:

Java Array Exercises: Segregate all 0s on left side and all 1s on right side of a given array of 0s and 1s

Sample Solution:

Java Code:

// Import necessary Java libraries.
import java.util.*;
import java.lang.*;

// Define a class named Main.
public class Main
{
    // The main method for executing the program.
    public static void main(String[] args) 
    {  
        // Define an array of integers containing 0s and 1s.
        int nums[] = {0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1};
        int i, nums_size = nums.length;
        int left = 0, right = nums_size - 1;
        
        // Print the original array.
        System.out.println("Original Array : " + Arrays.toString(nums));  

        // Perform segregation of 0s and 1s in the array.
        while (left < right) 
        {
            /* While 0 at the left, increment the left index. */
            while (nums[left] == 0 && left < right)
                left++;

            /* While we see 1 at the right, decrement the right index. */
            while (nums[right] == 1 && left < right)
                right--;

            if (left < right) 
            {
                // Swap 0 and 1 and increment left and decrement right.
                nums[left] = 0;
                nums[right] = 1;
                left++;
                right--;
            }
        }

        // Print the array after segregation.
        System.out.println("Array after segregation is : " + Arrays.toString(nums));  
    }
}

Sample Output:

                                                                              
Original Array : [0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1]
Array after segregation is : [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1]

Flowchart:

Flowchart: Segregate all 0s on left side and all 1s on right side of a given array of 0s and 1s

Java Code Editor:

Previous: Write a Java program to find smallest and second smallest elements of a given array.
Next: Write a Java program to find all combination of four elements of an given array whose sum is equal to a given value.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://www.w3resource.com/java-exercises/array/java-array-exercise-42.php