首页 > 代码库 > 调整数组顺序是奇数位于偶数前面

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

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

思路:建一个数组,扫两边,第一遍填奇数,第二遍填偶数,之后将原数组覆盖。。。。。

 public void reOrderArray(int [] array) {
       
       int[] res=new int[array.length];
        int index=0;
        for(int i=0;i<array.length;i++){
            if(!isOdd(array[i])){
                res[index]=array[i];
                index++;
            }
        }
        for(int i=0;i<array.length;i++){
            if(isOdd(array[i])){
                res[index]=array[i];
                index++;
            }
        }
       for(int i=0;i<array.length;i++){
           array[i]=res[i];
       }
    }
    public boolean isOdd(int number){
        if(number%2==0)
            return true;
        else return false;
    }

 

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