#include <stdio.h>
void swap(long* x, long* y) {
long tmp = *x;
*x = *y;
*y = tmp;
}
void RearrangeOddEven(int* arr, int size) {
for (int i = 0; i < size - 1; i++) {
if (i % 2 == 0 && arr[i] > arr[i + 1])
swap(&arr[i], &arr[i + 1]);
if (i % 2 != 0 && arr[i] < arr[i + 1])
swap(&arr[i], &arr[i + 1]);
}
}
void PrintArray(int arr[], int size) {
for (int i = 0; i < size; i++)
printf("%2d", arr[i]);
}
int main()
{
int arr[] = { 1, 2, 3, 5, 8, 6, 7, 4 };
int size = sizeof(arr) / sizeof(arr[0]);
RearrangeOddEven(arr, size);
PrintArray(arr, size);
return 0;
}
/*
run:
1 3 2 8 5 7 4 6
*/