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

Posted __Meng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 };

 

以上是关于14 调整数组顺序使奇数位于偶数前面的主要内容,如果未能解决你的问题,请参考以下文章

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

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

剑指offer面试题14(Java版):调整数组顺序使奇数位于偶数的前面

《剑指Offer——调整数组顺序使奇数位于偶数前面》代码

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

《剑指Offer》题目:调整数组顺序使奇数位于偶数前面