zoukankan      html  css  js  c++  java
  • N13-调整数组顺序使奇数在偶数前面

    题目描述

    输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
     1 //用空间换时间 新开辟一个数组(大小与原来的一样),遍历数组偶数放入新的数组中,最后将其直接放入原来数组的最后。
     2 public class N13_reOrderArray {
     3     public void reOrderArray(int [] array) {
     4         int len=array.length;
     5         int counteven=0;
     6         int arrj[]=new int[len];
     7         for(int i=0;i<len;i++) {
     8             if(array[i]%2==0) {                
     9                 arrj[counteven]=deletei(array,i);
    10                 array[len-1-counteven]=1;//此处需要注意数组不能越界。
    11                 //因题目要求后续是偶数 所以为了保持后续稳定每移一次将最后置为1
    12                 counteven++;
    13                 i--; 
    14             }
    15             }
    16         int j=0;
    17         for(int i=len-counteven;i<len;i++) {   //从此处将偶数添加到奇数的后面
    18             array[i]=arrj[j];
    19             j++;
    20         }
    21  /*
    22   *
    23     
    24          for(int i=0;i<len;i++) {
    25             System.out.println(array[i]);
    26             }    
    27   */
    28     }
    29     private int deletei(int array[],int i) {  //删除数组特定位置i的数原来最后的数不变
    30         //i为下标;
    31         int len=array.length;
    32         int c;
    33         c=array[i];
    34         if(i<len-1) {
    35             for(int j=i;j<len-1;j++) {
    36             array[j]=array[j+1];
    37         }}
    38         
    39         return c;
    40     }
    41     public static void main(String[] args) {
    42         // TODO Auto-generated method stub
    43          N13_reOrderArray n13=new  N13_reOrderArray();
    44         int[] a= {1,2,3,4,5,6,7};
    45         int[] b= {1,3,5,7,2,4,6};
    46         int[] c= {2,4,6,1,3,5,7};
    47         n13.reOrderArray(a);
    48         n13.reOrderArray(b);
    49         n13.reOrderArray(c);
    50         
    51     }
    52 
    53 }
  • 相关阅读:
    webuploader多次触发注册
    下载二进制文件
    表格打印
    多个请求下 loading 的展示与关闭
    前进刷新后退不刷新
    页面权限控制和登陆验证
    axios.post 配置formdata提交
    react错误边界
    关于beforeRouterEnter获取不到this
    JS
  • 原文地址:https://www.cnblogs.com/kexiblog/p/11064305.html
Copyright © 2011-2022 走看看