# Java Program for Odd-Even Sort / Brick Sort

This is basically a variation of bubble-sort. This algorithm is divided into two phases- Odd and Even Phase. The algorithm runs until the array elements are sorted and in each iteration two phases occurs- Odd and Even Phases.

In the odd phase, we perform a bubble sort on odd indexed elements and in the even phase, we perform a bubble sort on even indexed elements.

 `// Java Program to implement ` `// Odd-Even / Brick Sort ` `import` `java.io.*; ` ` `  `class` `GFG { ` `    ``public` `static` `void` `oddEvenSort(``int` `arr[], ``int` `n) ` `    ``{ ` `        ``boolean` `isSorted = ``false``; ``// Initially array is unsorted ` ` `  `        ``while` `(!isSorted) { ` `            ``isSorted = ``true``; ` `            ``int` `temp = ``0``; ` ` `  `            ``// Perform Bubble sort on odd indexed element ` `            ``for` `(``int` `i = ``1``; i <= n - ``2``; i = i + ``2``) { ` `                ``if` `(arr[i] > arr[i + ``1``]) { ` `                    ``temp = arr[i]; ` `                    ``arr[i] = arr[i + ``1``]; ` `                    ``arr[i + ``1``] = temp; ` `                    ``isSorted = ``false``; ` `                ``} ` `            ``} ` ` `  `            ``// Perform Bubble sort on even indexed element ` `            ``for` `(``int` `i = ``0``; i <= n - ``2``; i = i + ``2``) { ` `                ``if` `(arr[i] > arr[i + ``1``]) { ` `                    ``temp = arr[i]; ` `                    ``arr[i] = arr[i + ``1``]; ` `                    ``arr[i + ``1``] = temp; ` `                    ``isSorted = ``false``; ` `                ``} ` `            ``} ` `        ``} ` ` `  `        ``return``; ` `    ``} ` `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` `        ``int` `arr[] = { ``34``, ``2``, ``10``, -``9` `}; ` `        ``int` `n = arr.length; ` ` `  `        ``oddEvenSort(arr, n); ` `        ``for` `(``int` `i = ``0``; i < n; i++) ` `            ``System.out.print(arr[i] + ``" "``); ` ` `  `        ``System.out.println(``" "``); ` `    ``} ` `} ` `// Code Contribute by Mohit Gupta_OMG <(0_o)> `

Output:

```-9 2 10 34
```

Please refer complete article on Odd-Even Sort / Brick Sort for more details!

My Personal Notes arrow_drop_up
Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.