zoukankan      html  css  js  c++  java
  • 调整数组顺序使奇数位于偶数前面

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

    实现语言:Java

    public class Solution {
        public void reOrderArray(int [] array) {
            int len=array.length;
            if(len==0||array==null){
                return;
            }
            int i=0;
            int j=0;
            while(i<len){
                while(i<len&&!isEven(array[i])){
                    ++i;
                }
                j=i+1;
                while(j<len&&isEven(array[j])){
                    ++j;
                }
                if(j<len){
                    int tmp=array[j];
                    for(int k=j-1;k>=i;--k){
                        array[k+1]=array[k];
                    }
                    array[i++]=tmp;
                }else{
                    break;
                }
            }
        }
        private boolean isEven(int num){
            if(num%2==0){
                return true;
            }
            return false;
        }
    }
    

     实现语言:Java

    类似冒泡算法,前偶后奇数就交换

    public class Solution {
        public void reOrderArray(int [] array) {
            if(array==null||array.length==0){
                return;
            }
            for(int i=0;i<array.length;++i){
                for(int j=array.length-1;j>i;--j){
                    if(array[j]%2==1&&array[j-1]%2==0){
                        array[j-1]=array[j]+array[j-1];
                        array[j]=array[j-1]-array[j];
                        array[j-1]=array[j-1]-array[j];
                    }
                }
            }
        }
    }
    
  • 相关阅读:
    LG3626 [APIO2009]会议中心(倍增+树状数组)
    LG3624 [APIO2008]DNA(DP+前缀和)
    CF1516C
    PKUSC2021 口胡题解
    THUSC2021 Day1口胡题解
    2021.4
    2021.3
    2021 暑假 sxyz 集训做题记录
    【做题记录】CF746F Music in Car
    KMP
  • 原文地址:https://www.cnblogs.com/xidian2014/p/10196002.html
Copyright © 2011-2022 走看看