# C/C++ Program for Odd-Even Sort / Brick Sort

• Last Updated : 31 May, 2022

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.

## CPP

 `// A C++ Program to implement Odd-Even / Brick Sort` `#include ` `using` `namespace` `std;`   `// A function to sort the algorithm using Odd Even sort` `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``;` `}`   `// A utility function to print an array of size n` `void` `printArray(``int` `arr[], ``int` `n)` `{` `    ``for` `(``int` `i = 0; i < n; i++)` `        ``cout << arr[i] << " ";` `    ``cout << "\n";` `}`   `// Driver program to test above functions.` `int` `main()` `{` `    ``int` `arr[] = { 34, 2, 10, -9 };` `    ``int` `n = ``sizeof``(arr) / ``sizeof``(arr);`   `    ``oddEvenSort(arr, n);` `    ``printArray(arr, n);`   `    ``return` `(0);` `}`

Output:

`-9 2 10 34`

Time Complexity : O(N2) where, N represents the number of elements in the given array.
Auxiliary Space : O(1), this is an in-place algorithm, so no extra space is required.

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

My Personal Notes arrow_drop_up
Recommended Articles
Page :