.定义一个整型一维数组,任意输入数组的元素,其中包含奇数和偶数。定义一个函数,实现将数组元素奇数在左,偶数在右的排列。在上述定义的函数中,不允许再增加新的数组。从主函数中分别调用上述函数,打印输出结果。
时间: 2024-03-23 17:36:33 浏览: 28
好的,这是一个比较常见的数组操作题目,我们可以按照如下步骤实现:
1. 定义一个函数,接收一个整型数组和数组的长度作为参数。
2. 定义两个指针left和right,分别指向数组的首尾位置。
3. 当left小于right时,循环遍历数组,找到一个奇数和一个偶数。
4. 如果left指向的元素是偶数,right指向的元素是奇数,则交换它们的值。
5. 如果left指向的元素是奇数,就将left指针向右移动一位;如果right指向的元素是偶数,就将right指针向左移动一位。
6. 最后输出调整后的数组。
具体实现代码如下:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void odd_even_sort(int *nums, int n) {
int left = 0, right = n - 1;
while(left < right) {
while(left < right && nums[left] % 2 == 1) left++;
while(left < right && nums[right] % 2 == 0) right--;
if(left < right) {
swap(&nums[left], &nums[right]);
left++;
right--;
}
}
}
int main() {
int nums[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int n = sizeof(nums) / sizeof(nums[0]);
odd_even_sort(nums, n);
for(int i = 0; i < n; i++) {
printf("%d ", nums[i]);
}
return 0;
}
```
运行结果如下:
```
1 9 3 7 5 6 4 8 2
```
说明我们的奇偶排序函数实现成功了。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)