海淀区城市建设档案馆网站,网站开发公司杭州网站建设,如何自己搭建vps上外网,苏州手机网站建设多少钱目录
一、题目要求
二、解题思路
分步解析
从前往后找
从后往前找
交换
三、完整代码演示 一、题目要求 输入一个整数数组#xff0c;实现一个函数#xff0c;
来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分#xff0c;
所有偶数位于数组的后半…目录
一、题目要求
二、解题思路
分步解析
从前往后找
从后往前找
交换
三、完整代码演示 一、题目要求 输入一个整数数组实现一个函数
来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分
所有偶数位于数组的后半部分。 二、解题思路 1. 给定两个下标left和rightleft放在数组的起始位置right放在数组中最后一个元素的位置 2. 循环进行一下操作 a. 如果left和right表示的区间[left, right]有效进行b否则结束循环 b. left从前往后找找到一个偶数后停止 c. right从后往前找找到一个奇数后停止 d. 如果left和right都找到了对应的数据则交换继续a
分步解析
详细的解析都在下面代码的注释中了大家往下接着看就好了
从前往后找 while(leftright){// 从前往后找到一个偶数找到后停止while((leftright)(arr[left]%21)){left;}从后往前找 // 从后往前找找一个奇数找到后停止while((leftright) (arr[right]%20)){right--;}
交换 // 如果偶数和奇数都找到交换这两个数据的位置// 然后继续找直到两个指针相遇if(leftright){tmp arr[left];arr[left] arr[right];arr[right] tmp;} 三、完整代码演示 void swap_arr(int arr[], int sz)
{int left 0;int right sz-1;int tmp 0;while(leftright){while((leftright)(arr[left]%21)){left;}while((leftright) (arr[right]%20)){right--;}if(leftright){tmp arr[left];arr[left] arr[right];arr[right] tmp;}}
}
以上就是本篇博客的全部内容啦如有不足之处还请各位指出期待能和各位一起进步