#include <stdio.h>
void swap(int *i, int *j)
{
int temp = *i;
*i = *j;
*j = temp;
}
int seperateEvenAndOdd(int arr[], int size)
{
// Initialize left and right indexes
int left = 0;
int right = size - 1;
while(left < right)
{
// Increment left index till the number is even
// num%2 == 0, condition to check even number
while(arr[left]%2 == 0 && left < right)
{
left++;
}
// Decrement right index till the number is odd
while(arr[right]%2 == 1 && left < right)
{
right--;
}
// Time to swap
if(left < right)
{
swap(&arr[left], &arr[right]);
left++;
right--;
}
}
}
int main(void) {
// your code goes here
int arr[] = {4, 8, 15, 16, 23, 42};
seperateEvenAndOdd(arr, 6);
for (int i = 0; i<6;i++)
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIHN3YXAoaW50ICppLCBpbnQgKmopCnsKICAgIGludCB0ZW1wID0gKmk7CiAgICAqaSA9ICpqOwogICAgKmogPSB0ZW1wOwp9CiAKaW50IHNlcGVyYXRlRXZlbkFuZE9kZChpbnQgYXJyW10sIGludCBzaXplKQp7CiAgICAvLyBJbml0aWFsaXplIGxlZnQgYW5kIHJpZ2h0IGluZGV4ZXMKICAgIGludCBsZWZ0ID0gMDsKICAgIGludCByaWdodCA9IHNpemUgLSAxOwogICAgIAogICAgd2hpbGUobGVmdCA8IHJpZ2h0KQogICAgewogICAgICAgIC8vIEluY3JlbWVudCBsZWZ0IGluZGV4IHRpbGwgdGhlIG51bWJlciBpcyBldmVuCiAgICAgICAgLy8gbnVtJTIgPT0gMCwgY29uZGl0aW9uIHRvIGNoZWNrIGV2ZW4gbnVtYmVyCiAgICAgICAgd2hpbGUoYXJyW2xlZnRdJTIgPT0gMCAmJiBsZWZ0IDwgcmlnaHQpCiAgICAgICAgewogICAgICAgICAgICBsZWZ0Kys7CiAgICAgICAgfQogICAgICAgICAKICAgICAgICAvLyBEZWNyZW1lbnQgcmlnaHQgaW5kZXggdGlsbCB0aGUgbnVtYmVyIGlzIG9kZAogICAgICAgIHdoaWxlKGFycltyaWdodF0lMiA9PSAxICYmIGxlZnQgPCByaWdodCkKICAgICAgICB7CiAgICAgICAgICAgIHJpZ2h0LS07CiAgICAgICAgfQogICAgICAgICAKICAgICAgICAvLyBUaW1lIHRvIHN3YXAKICAgICAgICBpZihsZWZ0IDwgcmlnaHQpCiAgICAgICAgewogICAgICAgICAgICBzd2FwKCZhcnJbbGVmdF0sICZhcnJbcmlnaHRdKTsKICAgICAgICAgICAgbGVmdCsrOwogICAgICAgICAgICByaWdodC0tOwogICAgICAgIH0KICAgIH0KfQoKaW50IG1haW4odm9pZCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJaW50IGFycltdID0gezQsIDgsIDE1LCAxNiwgMjMsIDQyfTsKCQoJc2VwZXJhdGVFdmVuQW5kT2RkKGFyciwgNik7CgkKCWZvciAoaW50IGkgPSAwOyBpPDY7aSsrKQoJCXByaW50ZigiJWQgIiwgYXJyW2ldKTsKCQoJcmV0dXJuIDA7Cn0K