Java: Partition an given array of integers into even number first and odd number second
Java Basic: Exercise-176 with Solution
Write a Java program that partitions an array of integers into even and odd numbers.
Original array: [7, 2, 4, 1, 3, 5, 6, 8, 2, 10]
After partition the said array becomes: [10, 2, 4, 2, 8, 6, 5, 3, 1, 7]
Visual Presentation:
Sample Solution:
Java Code:
// Importing necessary Java utilities
import java.util.*;
// Main class Solution
public class Solution {
// Main method
public static void main(String[] args) {
int[] nums = {7, 2, 4, 1, 3, 5, 6, 8, 2, 10};
// Printing the original array
System.out.println("Original array: " + Arrays.toString(nums));
// Calling the partitionArray2 method to partition the array
int[] result = partitionArray2(nums);
// Printing the resulting array after partitioning
System.out.println("After partition the said array becomes: " + Arrays.toString(result));
}
// Method to partition the array based on odd and even numbers
public static int[] partitionArray2(int[] nums) {
int i = 0; // Initializing pointer i to the start of the array
int j = nums.length - 1; // Initializing pointer j to the end of the array
// Looping until pointers i and j meet or cross each other
while (i < j) {
// Moving pointer i until it finds an odd number
while (nums[i] % 2 == 0) {
i++;
}
// Moving pointer j until it finds an even number
while (nums[j] % 2 != 0) {
j--;
}
// Swapping the odd and even numbers if i is less than j
if (i < j) {
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
}
// Returning the partitioned array
return nums;
}
}
Sample Output:
Original array: [7, 2, 4, 1, 3, 5, 6, 8, 2, 10] After partition the said array becomes: [10, 2, 4, 2, 8, 6, 5, 3, 1, 7]
Flowchart:
Java Code Editor:
Contribute your code and comments through Disqus.
Previous: Write a Java program to delete a specified node in the middle of a singly linked list.
Next: Write a Java program to get a new binary tree with same structure and same value of a given binary tree.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
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/basic/java-basic-exercise-176.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics