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


    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 有什么问题可以给我留言噢~
  • 相关阅读:
    题目
    先贤祠3
    先贤祠2
    先贤祠1
    论文他引次数及ESI高被引论文查询方法
    [唐诗]古风(其三十一)-李白
    [唐诗]古风(其二十四)-李白
    [唐诗]古风(其十九)-李白
    [唐诗]古风(其十五)-李白
    [唐诗]古风(其三)-李白
  • 原文地址:https://www.cnblogs.com/flyingcr/p/10326837.html
Copyright © 2020-2023  润新知