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

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

package mypack8;

public class test9 {
    //调整数组顺序让奇数位于偶数前面
    //输入整数数组,,实现一个函数调整数组顺序,奇数位位于数组前半部分
    //相对位置不能改变
public void reOrderArray(int []array){
   //如果函数的长度为0或者等于1
    if(array.length==0||array.length==1) {
        return;
    }

    //oddCount保存奇数个数

    //oddBegin保存偶数个数

    //为什么要保存他们的个数呢
    int oddCount=0,oddBegin=0;

    //创建了一个新的数据数组长度就是传进来数组的长度
    int []newArray=new int[array.length];

    //循环遍历传进来的数组
    for (int i = 0; i <array.length ; i++) {
        //判断元素个是不是奇数
        if ((array[i]&1)==1)
            oddCount++;  //奇数个数
    }
    //再循环遍历传进来的数组
    for (int i = 0; i <array.length; i++) {
        //再判断是不是奇数
        if ((array[i]&1)==1){
            //创建的一个新的数组,他的大小就是输入数组大小
            newArray[oddBegin++]=array[i];    //按顺序存入奇数    新数组的前半段
        }else {
            //偶数后面开始,因为第一个循环我们已经求出了奇数的个数,那么剩下就是偶数个数,所以存入的偶数
            newArray[oddCount++]=array[i];    //按顺序存入偶数    新数组的后半段   前面循环已有数量累计
        }
    }
    for (int i=0;i<array.length;i++){

        //新数组的值覆盖原来数组的每一个元素
        array[i]=newArray[i];

        //输出这个被覆盖过的数据
        System.out.println(array[i]);

    }

}
    public static void main(String[] args) {
        int array[]={1,2,3,4,5,6,7,8,9,10};
        test9 test9=new test9();
        test9.reOrderArray(array);
    }
}

总结:核心思想,统计奇数个数。数组分成两段,奇数放前面,偶数放后面,奇数个数的后面就是偶数,以此来保存偶数。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值