/* C++ implementation Odd Even Sort */ #include #include using namespace std; void oddEven(vector &arr, int size) { bool sorted = false; while (!sorted) { sorted = true; for (int i = 1; i < size - 1; i += 2) //Odd { if (arr[i] > arr[i + 1]) { swap(arr[i], arr[i + 1]); sorted = false; } } for (int i = 0; i < size - 1; i += 2) //Even { if (arr[i] > arr[i + 1]) { swap(arr[i], arr[i + 1]); sorted = false; } } } } void show(vector A, int size) { int i; for (i = 0; i < size; i++) cout << A[i] << "\n"; } int main() { int size, temp; cout << "\nEnter the number of elements : "; cin >> size; vector arr; cout << "\nEnter the unsorted elements : \n"; for (int i = 0; i < size; ++i) { cin >> temp; arr.push_back(temp); } oddEven(arr, size); cout << "Sorted array\n"; show(arr, size); return 0; }