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

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

    resolution:

     public void reOrderArray(int [] array) {
           for(int i =1; i < array.length;i++){
               //如果为奇数 这里也可以写成(array[i] % 2) ==1
               if((array[i] & 1) == 1 ){
                   int temp = array[i];
                   int j = i -1 ;//这里令j=i还是i-1需要注意
                   while (j >= 0){
                       //如果array[j - 1] 为偶数
                       if((array[j] & 1) == 0){
                           array[j + 1] = array[j];
                           j--;
                       }else if((array[j] & 1) == 1) break;
                       //这里用break而不是continue,因为需要跳出整个while循环
                   }
                   array[j + 1] = temp;
               }
           }
        }
    欢迎关注我的公众号:小秋的博客 CSDN博客:https://blog.csdn.net/xiaoqiu_cr github:https://github.com/crr121 联系邮箱:rongchen633@gmail.com 有什么问题可以给我留言噢~
  • 相关阅读:
    GDB 用法
    C编程规范
    PHP面向对象
    cron定时任务
    Apatche配置基础
    正则表达式笔记
    PHP在windows下命令行方式
    面试题
    struts与ajax的关系
    ORACLE DUAL表详解
  • 原文地址:https://www.cnblogs.com/flyingcr/p/10326837.html
Copyright © 2011-2022 走看看