调整数组顺序使奇数位于偶数前面
题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
详解
找到最前面的偶数,然后记录位置,依次判断下一个值是否为奇数直到碰到偶数为止。将奇数往前移,将偶数放到最后一个奇数上。
完整程序
public class Solution {
public void reOrderArray(int [] array) {
int temp = 0;
for (int i = 0; i < array.length; i++) {
if (array[i] % 2 == 0){
temp = i;
break;
}
}
for (int j = temp+1; j < array.length; j++) {
if (array[j] % 2 !=0){
int temp2 = array[j];
for (int k = 0; k<j-temp;k++){
array[j-k] = array[j-k-1];
}
array[temp] = temp2;
temp++;
}
}
}
}

浙公网安备 33010602011771号