输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
//用类似插入排序的思想解答本题
public class Solution {
public void reOrderArray(int [] array) {
if(array.length==0||array==null)
return ;
for(int i=0;i<array.length;i++){
int j=i;
int k=j;
if(array[j]%2==1){
int temp=array[j];
while(j>0){
if(array[j-1]%2==0){
j--;
}
else break;
}
while(k>j){
array[k]=array[k-1];
k--;
}
array[k]=temp;
}
}
}
//测试
public static void main(String[] args) {
Solution solution=new Solution();
int[] a={4,2,6,5,4,6,7,8};
solution.reOrderArray(a);
for(int i=0;i<a.length;i++)
System.out.print(a[i]+",");
}
}