输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
package co.com.jianzhioffer;
/*
* 插排思想
*/
public class Solution13 {
public static void reOrderArray(int array[]){
int length = array.length;
if(length<=1) return;
int p = 0;
int q = 0;
while(p<length){
if((array[p]&1)==1){//遇到第几个奇数(array[p]),就把它放到第几位(q位置),
if(p>q){
int temp = array[p];
for(int j = p;j>q;j--){
array[j] = array[j-1];
}
array[q] = temp;
}
q++;
}
p++;
}
}
public static void main(String[] args) {
int[] array = {1,2,3,4,5,6,7};
reOrderArray(array);
for(int i:array){
System.out.print(i);
}
}
}