public class GFG { // To do two way sort. First sort even numbers in // ascending order, then odd numbers in descending // order. static void twoWaySort(Integer arr[], int n) { // Current indexes from left and right int l = 0, r = n - 1;
// Count of odd numbers int k = 0;
while (l < r) {
// Find first even number from left side. while (arr[l] % 2 != 0) { l++; k++; }
// Find first odd number from right side. while (arr[r] % 2 == 0 && l < r) r--;
// Swap even number present on left and odd // number right. if (l < r) {