## Wednesday, June 29, 2016

### Odd-Even Sort / Brick Sort - GeeksforGeeks

Odd-Even Sort / Brick Sort - GeeksforGeeks
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.

`void` `oddEvenSort(``int` `arr[], ``int` `n)`
`{`
`    ``bool` `isSorted = ``false``; ``// Initially array is unsorted`

`    ``while` `(!isSorted)`
`    ``{`
`        ``isSorted = ``true``;`

`        ``// Perform Bubble sort on odd indexed element`
`        ``for` `(``int` `i=1; i<=n-2; i=i+2)`
`        ``{`
`            ``if` `(arr[i] > arr[i+1])`
`             ``{`
`                ``swap(arr[i], arr[i+1]);`
`                ``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])`
`            ``{`
`                ``swap(arr[i], arr[i+1]);`
`                ``isSorted = ``false``;`
`            ``}`
`        ``}`
`    ``}`

`    ``return``;`
`}`