# Odd Even Sort in java

Complete programme of Odd Even Sort in java

import java.util.Random;

// https://en.wikipedia.org/wiki/Odd%E2%80%93even_sort
public class OddEvenSort {

public static void main(String[] args) {
int[] arr = new int[100];

Random random = new Random();

// Print out unsorted elements
for (int i = 0; i < arr.length; ++i) {
arr[i] = random.nextInt(100) - 50;
System.out.println(arr[i]);
}
System.out.println("--------------");

oddEvenSort(arr);

//Print Sorted elements
for (int i = 0; i < arr.length - 1; ++i) {
System.out.println(arr[i]);
assert arr[i] <= arr[i + 1];
}
}

/**
* Odd Even Sort algorithms implements
*
* @param arr the array contains elements
*/
public static void oddEvenSort(int[] arr) {
boolean sorted = false;
while (!sorted) {
sorted = true;

for (int i = 1; i < arr.length - 1; i += 2) {
if (arr[i] > arr[i + 1]) {
swap(arr, i, i + 1);
sorted = false;
}
}

for (int i = 0; i < arr.length - 1; i += 2) {
if (arr[i] > arr[i + 1]) {
swap(arr, i, i + 1);
sorted = false;
}
}
}
}

/**
* Helper function to swap two array values.
*
* @param arr the array contains elements
* @param i the first index to be swapped
* @param j the second index to be swapped
*/
private static void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}