用c语言实现调整数组使奇数全部都位于偶数前面其他数字顺序不变
时间: 2023-02-26 07:48:56 浏览: 84
调整数组顺序使奇数位于偶数前面.md
下面是一个实现调整数组使奇数全部位于偶数前面其他数字顺序不变的 C 语言代码示例:
```
#include<stdio.h>
void move_odd_numbers_to_front(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;
}
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7};
int size = sizeof(arr) / sizeof(arr[0]);
move_odd_numbers_to_front(arr, size);
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
该代码通过使用双指针法,从数组的头部和尾部同时移动,在每一次操作中将偶数和奇数交换,最终实现调整数组的目的。
阅读全文