w3resource

Java Array Exercises: 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 segregate all 0s on left side and all 1s on right side of a given array of 0s and 1s.

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 java.util.*;
import java.lang.*;
public class Main
{
   public static void main (String[] args) 
    {  
        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;
        
        System.out.println("Original Array : "+Arrays.toString(nums));  
 
        while (left < right) 
        {
            /* While  0 at left increment left index  */
            while (nums[left] == 0 && left < right)
               left++;
 
            /* While we see 1 at right decrement right index*/
            while (nums[right] == 1 && left < right)
                right--;
 
           
            if (left < right) 
            {
                nums[left] = 0;
                nums[right] = 1;
                left++;
                right--;
            }
        }
        
       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

Visualize Java code execution (Python Tutor):


Java Code Editor:

Improve this sample solution and post your code through Disqus

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.



Share this Tutorial / Exercise on : Facebook and Twitter

Java: Tips of the Day

countOccurrences

Counts the occurrences of a value in an array.

Use Arrays.stream().filter().count() to count total number of values that equals the specified value.

public static long countOccurrences(int[] numbers, int value) {
    return Arrays.stream(numbers)
            .filter(number -> number == value)
            .count();
}

Ref: https://bit.ly/3kCAgLb