完整C语言 定义一个函数,实现数组元素奇数在左、偶数在右
时间: 2024-02-21 22:56:44 浏览: 76
函数法实现数组元素向右移.c.c
好的,下面是实现数组元素奇数在左、偶数在右的 C 语言函数的代码:
```c
void oddEvenSort(int arr[], int size) {
int left = 0, right = size - 1;
while (left < right) {
while (arr[left] % 2 != 0 && left < right) {
left++;
}
while (arr[right] % 2 == 0 && left < right) {
right--;
}
if (left < right) {
int temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
left++;
right--;
}
}
}
```
这个函数的作用是将一个整型数组中的元素按照奇偶性进行排序,使得奇数元素排在左边,偶数元素排在右边。它的实现方式是使用两个指针 left 和 right 分别指向数组的左右两端,然后不断移动这两个指针,直到它们相遇为止。在移动指针的过程中,如果 left 指向的元素是奇数,就继续往右移动;如果 right 指向的元素是偶数,就继续往左移动。当 left 和 right 指向的元素都不满足上述条件时,就交换它们的值,然后继续移动指针。最终,当 left 和 right 相遇时,整个数组就被排序好了。
阅读全文