14 调整数组顺序使奇数位于偶数前面

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分

C++:

1 void reOrderArray(vector<int> &array) {
2     int k = 0 ;
3     for(int i = 0 ; i < array.size() ; i++){
4         if (array[i] % 2 == 1){
5             swap(array[k++] , array[i]) ;
6         }
7     }
8 }

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,

并保证奇数和奇数,偶数和偶数之间的相对位置不变。

C++:

 1 class Solution {
 2 public:
 3     void reOrderArray(vector<int> &array) {
 4         int oddNum = 0 ;
 5         for(int a : array){
 6             if (a % 2 == 1){
 7                 oddNum++ ;
 8             }
 9         }
10         int i = 0 ;
11         int j = oddNum ;
12         vector<int> copy = array ;
13         for(int num : copy){
14             if (num % 2 == 1){
15                 array[i++] = num ;
16             }else{
17                 array[j++] = num ;
18             }
19         }
20     }
21 };
原文地址:https://www.cnblogs.com/mengchunchen/p/8930981.html