您的位置:首页 > 其它

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

2015-09-20 10:36 239 查看
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

package array;

public class Solution {

public void reOrderArray(int[] array) {
int lastOdd=0; //上一个奇数的位置
for(int i=0;i<array.length;i++){
if(array[i]%2==1){
int odd=i; //记录奇数的位置
for(int j=i-1;j>=lastOdd;j--){ //上一个奇数之前肯定无偶数,无需交换
if(array[j]%2==0){
int temp=array[odd];
array[odd]=array[j];
array[j]=temp;
odd=j;
}
}
lastOdd=odd; //交换之后记录上一个奇数的位置
}
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: