# 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!

Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.

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.