习题地址 https://www.acwing.com/solution/acwing/content/2921/算法
输入一个整数数组,实现一个函数来调整该数组中数字的顺序。数组
使得全部的奇数位于数组的前半部分,全部的偶数位于数组的后半部分。函数
样例spa
输入:[1,2,3,4,5] 输出: [1,3,5,2,4]
算法1
使用双指针 一个从前到后 一个从后到前
遇到不符合标准则互相替换
直到第一个指针比第二个指针大指针
C++ 代码code
class Solution { public: void reOrderArray(vector<int> &array) { int p1 =0; int p2 = array.size()-1; while(p1<p2){ while(array[p1] %2 !=0){ p1++; } while(array[p2]%2 == 0){ p2--; } if(p1<p2){ swap(array[p1],array[p2]); p2--;p1++; } } return; } }; 做者:defddr 连接:https://www.acwing.com/solution/acwing/content/2921/ 来源:AcWing 著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。