﻿ Java exercises: Separate 0s on left side and 1s on right side of an array of 0s and 1s in random order - w3resource

# Java Array Exercises: Separate 0s on left side and 1s on right side of an array of 0s and 1s in random order

## Java Array: Exercise-51 with Solution

Write a Java program to separate 0s on left side and 1s on right side of an array of 0s and 1s in random order.

Pictorial Presentation: Sample Solution:

Java Code:

``````import java.util.Arrays;

public class Main {
public static void main(String[] args)
{
int arr[] = new int[]{ 0, 0, 1, 1, 0, 1, 1, 1,0 };
int result[];
System.out.println("Original Array ");
System.out.println(Arrays.toString(arr));

int n = arr.length;

result = separate_0_1(arr, n);
System.out.println("New Array ");
System.out.println(Arrays.toString(result));
}

static int [] separate_0_1(int arr[], int n)
{
int count = 0;

for (int i = 0; i < n; i++) {
if (arr[i] == 0)
count++;
}

for (int i = 0; i < count; i++)
arr[i] = 0;

for (int i = count; i < n; i++)
arr[i] = 1;

return arr;
}
}
```
```

Sample Output:

```
Original Array
[0, 0, 1, 1, 0, 1, 1, 1, 0]
New Array
[0, 0, 0, 0, 1, 1, 1, 1, 1]
```

Flowchart: Visualize Java code execution (Python Tutor):

Java Code Editor:

Improve this sample solution and post your code through Disqus

What is the difficulty level of this exercise?

﻿

Inviting useful, relevant, well-written and unique guest posts