How to arrange even first and odd after in array with Java

1 Answer

0 votes
public class MyClass {
    public static void ArrangeEvenOdd(int[] arr) {
        int left = 0;
        int right = arr.length - 1;
          
        while (left < right) {
            if ((arr[left] % 2) != 0) { // odd
                while ((arr[right] % 2 == 1) && right > left) {
                    right--;
                }
                int tmp = arr[left];
                arr[left++] = arr[right];
                arr[right--] = tmp;
            }
            else { // even
                left++;
            }
        }
    }
  
    public static void main(String args[]) {
        int[] arr = {3, 4, 2, 9, 4, 8, 5, 6};
  
        ArrangeEvenOdd(arr);
  
        for (int n: arr) {
            System.out.print(n + " ");
        }
    }
}
  
  
  
  
  
/*
run:
   
6 4 2 8 4 9 5 3 
   
*/

 



answered Aug 28, 2022 by avibootz
edited Aug 28, 2022 by avibootz

Related questions

1 answer 114 views
1 answer 107 views
1 answer 109 views
1 answer 118 views
1 answer 139 views
1 answer 106 views
1 answer 103 views
...