网站开发程序员,小企业网站建设设计,做简单最网站的软件是,郑州网站外包哪家好调整数组使奇数全部都位于偶数前面
题目#xff1a; 输入一个整数数组#xff0c;实现一个函数 来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分 所有偶数位于数组的后半部分 解题思路#xff1a; 给定两个下标left和right#xff0c;left放在数组的起始…调整数组使奇数全部都位于偶数前面
题目 输入一个整数数组实现一个函数 来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分 所有偶数位于数组的后半部分 解题思路 给定两个下标left和rightleft放在数组的起始位置right放在数组中最后一个元素的位置
循环进行一下操作
如果left和right表示的区间[left, right]有效,否则结束循环
left从前往后找找到一个偶数后停止
right从后往前找找到一个奇数后停止
如果left和right都找到了对应的数据则交换 代码
#include stdio.hvoid my_rele(int* arr, int len)
{int* left arr;int* right arr len - 1;while (left right){while (left right *left % 2 ! 0){left;}while (left right *right % 2 0){right--;}int ret *left;*left *right;*right ret;}}int main()
{int arr[] { 1,2,3,4,5,6,7,8,1,0,9 };int sz sizeof(arr) / sizeof(arr[0]);my_rele(arr, sz);for (int i 0; i sz; i){printf(%d , *(arr i));}return 0;
}结果